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.

This page as a plain text file.
%I A169908 #9 Jul 12 2013 05:58:01
%S A169908 0,1,4,9,7,7,9,4,1,9,100,121,144,169,187,117,139,154,171,199,400,441,
%T A169908 484,439,477,427,469,414,451,499,900,961,934,999,967,937,999,964,931,
%U A169908 999,700,781,774,769,757,747,739,724,711,799,700,711,724,739,747,757
%N A169908 a(n) = n*n in carryless digital root arithmetic in base 10.
%C A169908 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).
%H A169908 <a href="/index/Ca#CARRYLESS">Index entries for sequences related to carryless arithmetic</a>
%e A169908 14*14 = 187:
%e A169908 ..14
%e A169908 ..14
%e A169908 ----
%e A169908 ..47
%e A169908 .14.
%e A169908 ----
%e A169908 .187
%e A169908 ----
%p A169908 A010888 := proc(n)
%p A169908     if n = 0 then
%p A169908         0;
%p A169908     else
%p A169908         1+modp(n-1,9) ;
%p A169908     end if;
%p A169908 end proc:
%p A169908 carryLmult1dig := proc(a,b)
%p A169908     local adigs,cdigs,d,len ;
%p A169908     if b <= 9 then
%p A169908         adigs := convert(a,base,10) ;
%p A169908         len := nops(adigs) ;
%p A169908         cdigs := [seq( A010888(b*op(d,adigs)) ,d=1..len)] ;
%p A169908         add(op(d,cdigs)*10^(d-1),d=1..len) ;
%p A169908     else
%p A169908         error b,"not smaller than 10" ;
%p A169908     end if;
%p A169908 end proc:
%p A169908 carryLmult := proc(a,b)
%p A169908     local adigs,bdigs,c,len ;
%p A169908     adigs := convert(a,base,10) ;
%p A169908     bdigs := convert(b,base,10) ;
%p A169908     len := max(nops(adigs),nops(bdigs)) ;
%p A169908     c := 0 ;
%p A169908     for i from 1 to nops(bdigs) do
%p A169908         carryLmult1dig(a,op(i,bdigs)) ;
%p A169908         c := carryLadd(c,%*10^(i-1)) ;
%p A169908     end do:
%p A169908     c ;
%p A169908 end proc:
%p A169908 A169908 := proc(n)
%p A169908     carryLmult(n,n) ;
%p A169908 end proc: # _R. J. Mathar_, Jul 12 2013
%Y A169908 Cf. A010888, A169821.
%K A169908 nonn,base
%O A169908 0,3
%A A169908 _David Applegate_, _Marc LeBrun_ and _N. J. A. Sloane_, Jul 11 2010