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.
%I A087062 #55 Nov 15 2018 10:52:59 %S A087062 1,1,1,1,2,1,1,2,2,1,1,2,3,2,1,1,2,3,3,2,1,1,2,3,4,3,2,1,1,2,3,4,4,3, %T A087062 2,1,1,2,3,4,5,4,3,2,1,10,2,3,4,5,5,4,3,2,10,11,10,3,4,5,6,5,4,3,10, %U A087062 11,11,11,10,4,5,6,6,5,4,10,11,11,11,12,11,10,5,6,7,6,5,10,11,12,11,11,12,12 %N A087062 Array T(n,k) = lunar product n*k (n >= 1, k >= 1) read by antidiagonals. %C A087062 See A087061 for definition. Note that 0+x = x and 9*x = x for all x. %C A087062 This differs from A003983 at a(46): min(1,10)=1, while lunar product 10*1 = 10. %C A087062 We have now changed the name from "dismal arithmetic" to "lunar arithmetic" - the old name was too depressing. - _N. J. A. Sloane_, Aug 06 2014 %H A087062 Alois P. Heinz, <a href="/A087062/b087062.txt">Table of n, a(n) for n = 1..10011</a> %H A087062 D. Applegate, <a href="/A087061/a087061.txt">C program for lunar arithmetic and number theory</a> %H A087062 D. Applegate, M. LeBrun and N. J. A. Sloane, <a href="http://arxiv.org/abs/1107.1130">Dismal Arithmetic</a>, arXiv:1107.1130 [math.NT], 2011. %H A087062 Brady Haran and N. J. A. Sloane, <a href="https://youtu.be/cZkGeR9CWbk">Primes on the Moon (Lunar Arithmetic)</a>, Numberphile video, Nov 2018. %H A087062 <a href="/index/Di#dismal">Index entries for sequences related to dismal (or lunar) arithmetic</a> %e A087062 Lunar multiplication table begins: %e A087062 1 1 1 1 1 ... %e A087062 1 2 2 2 2 ... %e A087062 1 2 3 3 3 ... %e A087062 1 2 3 4 4 ... %e A087062 1 2 3 4 5 ... %p A087062 # convert decimal to string: rec := proc(n) local t0,t1,e,l; if n <= 0 then RETURN([[0],1]); fi; t0 := n mod 10; t1 := (n-t0)/10; e := [t0]; l := 1; while t1 <> 0 do t0 := t1 mod 10; t1 := (t1-t0)/10; l := l+1; e := [op(e),t0]; od; RETURN([e,l]); end; %p A087062 # convert string to decimal: cer := proc(ep) local i,e,l,t1; e := ep[1]; l := ep[2]; t1 := 0; if l <= 0 then RETURN(t1); fi; for i from 1 to l do t1 := t1+10^(i-1)*e[i]; od; RETURN(t1); end; %p A087062 # lunar addition: dadd := proc(m,n) local i,r1,r2,e1,e2,l1,l2,l,l3,t0; r1 := rec(m); r2 := rec(n); e1 := r1[1]; e2 := r2[1]; l1 := r1[2]; l2 := r2[2]; l := max(l1,l2); l3 := min(l1,l2); t0 := array(1..l); for i from 1 to l3 do t0[i] := max(e1[i],e2[i]); od; if l>l3 then for i from l3+1 to l do if l1>l2 then t0[i] := e1[i]; else t0[i] := e2[i]; fi; od; fi; cer([t0,l]); end; %p A087062 # lunar multiplication: dmul := proc(m,n) local k,i,j,r1,r2,e1,e2,l1,l2,l,t0; r1 := rec(m); r2 := rec(n); e1 := r1[1]; e2 := r2[1]; l1 := r1[2]; l2 := r2[2]; l := l1+l2-1; t0 := array(1..l); for i from 1 to l do t0[i] := 0; od; for i from 1 to l2 do for j from 1 to l1 do k := min(e2[i],e1[j]); t0[i+j-1] := max(t0[i+j-1],k); od; od; cer([t0,l]); end; %t A087062 ladd[x_, y_] := FromDigits[MapThread[Max, IntegerDigits[#, 10, Max@IntegerLength[{x, y}]] & /@ {x, y}]]; %t A087062 lmult[x_, y_] := Fold[ladd, 0, Table[10^i, {i, IntegerLength[y] - 1, 0, -1}]*FromDigits /@ Transpose@Partition[Min[##] & @@@ Tuples[IntegerDigits[{x, y}]], IntegerLength[y]]]; %t A087062 Flatten[Table[lmult[k, n - k + 1], {n, 1, 13}, {k, 1, n}]] (* _Davin Park_, Oct 06 2016 *) %o A087062 (Python) %o A087062 def lunar_add(n,m): %o A087062 sn, sm = str(n), str(m) %o A087062 l = max(len(sn),len(sm)) %o A087062 return int(''.join(max(i,j) for i,j in zip(sn.rjust(l,'0'),sm.rjust(l,'0')))) %o A087062 def lunar_mul(n,m): %o A087062 sn, sm, y = str(n), str(m), 0 %o A087062 for i in range(len(sm)): %o A087062 c = sm[-i-1] %o A087062 y = lunar_add(y,int(''.join(min(j,c) for j in sn))*10**i) %o A087062 return y # _Chai Wah Wu_, Sep 06 2015 %o A087062 (PARI) lmul=A087062(m,n,d(n)=Vecrev(digits(n)))={sum(i=1,#(n=d(n))-1+#m=d(m), vecmax(vector(min(i,#n),j,if(#m>i-j,min(n[j],m[i-j+1]))))*10^i)\10} \\ _M. F. Hasler_, Nov 13 2017 %Y A087062 Cf. A087061 (addition), A003983 (min), A087097 (lunar primes). %Y A087062 See A261684 for a version that includes the zero row and column. %K A087062 nonn,tabl,nice,base,look %O A087062 1,5 %A A087062 _Marc LeBrun_, Oct 09 2003 %E A087062 Maple programs from _N. J. A. Sloane_. %E A087062 Incorrect comment and Mathematica program removed by _David Applegate_, Jan 03 2012 %E A087062 Edited by _M. F. Hasler_, Nov 13 2017