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 のセンスが無いのは仕様です。