A169908 a(n) = n*n in carryless digital root arithmetic in base 10.
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
Examples
14*14 = 187: ..14 ..14 ---- ..47 .14. ---- .187 ----
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
Comments