n,m=$* w=m.size i=n.size f=proc{| *a|a.map{|s|s.to_s.rjust w+i+1}};a=f[n.to_i/d=m.to_i, s="-"*i,m+")"+n];t=i=0;n.chars{|c|s<<45;w+=1;s,a="-"* t.to_s.size,a+f[s,t,t-t%=d]if(t=t*10+c.to_i)/d>0};;a[ #Y.Endoh 3,2]=[]; puts a + f[s,t]
$ ruby19 div.rb 123454321 99 1247013 --------- 99)123454321 99 ---- 244 198 ---- 465 396 ---- 694 693 ----- 132 99 ---- 331 297 --- 34
なんとなく筆算。AA のセンスが無いのは仕様です。