今更ですが、世界一美しい覆面算をJavaScriptで解いてみました。(^_^;
●問題
C ------ [AB] )[DE] [FG] ------ [HI] Where A〜I={1,2,3,4,5,6,7,8,9}. Here [AB]=10*A+B.
●VerbalArithmetic02.html
<html> <head> <title>VerbalArithmetic02.html</title> <script type="text/javascript" src="genperm.js"></script> <script type="text/javascript"> function Hn(p,q) { return ( 10*(p)+(q) ); } </script> </head> <body> <script type="text/javascript"> var p=[1,2,3,4,5,6,7,8,9]; var a,b,c,d,e,f,g,h,i; var h1,h2,h3,h4; var tm=(new Date()).getTime(); // Timer start do{ a=p[0],b=p[1],c=p[2],d=p[3],e=p[4],f=p[5],g=p[6],h=p[7],i=p[8]; h1=Hn(a,b); h2=Hn(d,e); h3=Hn(f,g); h4=Hn(h,i); if(h1*c!=h3) continue; if(h2-h3!=h4) continue; // checkを潜り抜けたものだけを表示 document.write("<pre>"); document.write(" ",c,"<br />"); // 半角スペース document.write(" ---","<br />"); document.write(h1," )",h2,"<br />"); document.write(" ",h3,"<br />"); document.write(" ---","<br />"); document.write(" ",h4,"<br />"); document.write("</pre>"); }while(next_perm(p,9,9)); tm=(new Date()).getTime()-tm; // Timer stop document.write("Runtime : ",tm/1000.0, "[sec]<br />"); </script> </body> </html>
●実行結果
4 --- 17 )93 68 --- 25 Runtime : 0.097[sec]
※参考URL
●世界一美しい覆面算はこれだ(と思う)
※genperm.js
http://d.hatena.ne.jp/rsc96074/20111021/1319190871