답변:
Orabig의 아이디어를 통합 한 최상의 108 가지 char 솔루션.
($x,$y)=<>=~/[-\d]+/g;printf"%7s
",$_ for$x,x.$y,"-"x7,(map{abs($x*$_).$"x$i++}reverse$y=~/\d/g),"-"x7,$x*$y
이전 139 개 솔루션
sub P{sprintf"%*d",@_}
($x,$y)=<>=~/[^,]+/g;$,=$/;
print P(7,$x)," x".P(4,$y),"-"x7,(map{P 7-$i++,abs$_*$x}reverse$y=~/\d/g),
"-"x7,P 7,$x*$y
$y=~/\d/g
속임수는 영리했다
암호
a_~g~b_ :=
With[{e = IntegerDigits@b}, Column[Flatten@{a, UnderBar["x " <> IntegerString[b]],
Table[Row @@ {PadRight[{a Reverse[e][[i]]}, i, " "]}, {i, Length@e}], OverBar[a b]},
Alignment -> Right]]
용법
g[845, 921]
IntegerString[921]
당신은 의미 IntegerString[b]
합니까?
"x "
.
파이썬, 174 170 :
a,b=input();r,s=str(a),str(b);h=len(r+s)*'-';print'\n'.join(["%9s\n%9s\n%9s"%(r,'x'+s,h)]+["%%%ii"%(9-i)%(int(d)%10*a)for i,d in enumerate(s[::-1])]+["%9s\n%9i"%(h,a*b)])
사용법 : 요청한대로 표준 입력에서 값을 실행하고 입력하십시오.
달리기를 보려면 : http://ideone.com/S8xNb
산출:
1234
x5678
--------
9872
8638
7404
6170
--------
7006652
fabiocerqueira와 beary605와 David Carraher 덕분에
print '\n'
-> print'\n'
, 10*a) for i,d in enumerate
-> 10*a)for i,d in enumerate
, "%9s\n%9i" % (h,a*b)
->"%9s\n%9i"%(h,a*b)
Python, 145, 약간 다른 출력을 가진 또 다른 대답.
암호
a,b=input();h=6*'-';print'\n'.join(["%6i\nx%5i\n%s"%(a,b,h)]+["%%%ii"%(6-i)%(int(d)%10*a)for i,d in enumerate(str(b)[::-1])]+["%s\n%6i"%(h,a*b)])
용법
요청한대로
산출
999
x 999
------
8991
8991
8991
------
998001
달리기를 보려면 : http://ideone.com/mdR18