cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A169908 a(n) = n*n in carryless digital root arithmetic in base 10.

Original entry on oeis.org

0, 1, 4, 9, 7, 7, 9, 4, 1, 9, 100, 121, 144, 169, 187, 117, 139, 154, 171, 199, 400, 441, 484, 439, 477, 427, 469, 414, 451, 499, 900, 961, 934, 999, 967, 937, 999, 964, 931, 999, 700, 781, 774, 769, 757, 747, 739, 724, 711, 799, 700, 711, 724, 739, 747, 757
Offset: 0

Views

Author

Keywords

Comments

Addition and multiplication are the same as in school, that is, done in base 10, except that there are no carries and when individual digits are added or multiplied the result is replaced by its digital root (A010888).

Examples

			14*14 = 187:
..14
..14
----
..47
.14.
----
.187
----
		

Crossrefs

Programs

  • Maple
    A010888 := proc(n)
        if n = 0 then
            0;
        else
            1+modp(n-1,9) ;
        end if;
    end proc:
    carryLmult1dig := proc(a,b)
        local adigs,cdigs,d,len ;
        if b <= 9 then
            adigs := convert(a,base,10) ;
            len := nops(adigs) ;
            cdigs := [seq( A010888(b*op(d,adigs)) ,d=1..len)] ;
            add(op(d,cdigs)*10^(d-1),d=1..len) ;
        else
            error b,"not smaller than 10" ;
        end if;
    end proc:
    carryLmult := proc(a,b)
        local adigs,bdigs,c,len ;
        adigs := convert(a,base,10) ;
        bdigs := convert(b,base,10) ;
        len := max(nops(adigs),nops(bdigs)) ;
        c := 0 ;
        for i from 1 to nops(bdigs) do
            carryLmult1dig(a,op(i,bdigs)) ;
            c := carryLadd(c,%*10^(i-1)) ;
        end do:
        c ;
    end proc:
    A169908 := proc(n)
        carryLmult(n,n) ;
    end proc: # R. J. Mathar, Jul 12 2013