過去ログ

ゴンとも
オンライン整数列大辞典 A099009 が本問(カプレカ数)に相当して6桁までの Mathematica のコードが

f[n_] := Block[{d = IntegerDigits@ n, a, b}, a = FromDigits@ Sort@ d; b = FromDigits@ Reverse@ Sort@ d; n == b - a]; Select[Range@ 1000000, f]

があり,これを自分の Mathematica home edition 8.0.4 にコピペして enter 押して 15秒くらいで {495, 6174, 549945, 631764} がでました。自分も十進Basicで2,3,4,5,6桁まででるものを作りました。
 
FOR a=1 TO 9
FOR b=a TO 9
let c=10*b+a-(10*a+b)
let d=ip(c/10)
let e=c-10*ip(c/10)
if d+e=a+b and d*e=a*b then print c
FOR f=b TO 9
LET g=10^2*f+10*b+a-(10^2*a+10*b+f)
LET h=IP(g/10^2)
LET i=IP(g/10)-10*IP(g/10^2)
LET j=g-10*IP(g/10)
IF h+i+j=a+b+f AND h*i*j=a*b*f THEN PRINT g
FOR k=f TO 9
LET l=10^3*k+10^2*f+10*b+a-(10^3*a+10^2*b+10*f+k)
LET m=IP(l/10^3)
LET n=IP(l/10^2)-10*IP(l/10^3)
LET o=IP(l/10)-10*IP(l/10^2)
LET p=l-10*IP(l/10)
IF m+n+o+p=a+b+f+k AND m*n*o*p=a*b*f*k THEN PRINT l
FOR q=k TO 9
LET r=10^4*q+10^3*k+10^2*f+10*b+a-(10^4*a+10^3*b+10^2*f+10*k+q)
LET s=IP(r/10^4)
LET t=IP(r/10^3)-10*IP(r/10^4)
LET u=IP(r/10^2)-10*IP(r/10^3)
LET v=IP(r/10)-10*IP(r/10^2)
LET w=g-10*IP(r/10)
IF s+t+u+v+w=a+b+f+k+q AND s*t*u*v*w=a*b*f*k*q THEN PRINT r
FOR x=q TO 9
LET y=10^5*x+10^4*q+10^3*k+10^2*f+10*b+a-(10^5*a+10^4*b+10^3*f+10^2*k+10*q+x)
LET z1=IP(y/10^5)
LET z2=IP(y/10^4)-10*IP(y/10^5)
LET z3=IP(y/10^3)-10*IP(y/10^4)
LET z4=IP(y/10^2)-10*IP(y/10^3)
LET z5=IP(y/10)-10*IP(y/10^2)
LET z6=y-10*IP(y/10)
IF z1+z2+z3+z4+z5+z6=a+b+f+k+q+x AND z1*z2*z3*z4*z5*z6=a*b*f*k*q*x AND z1^2+z2^2+z3^2+z4^2+z5^2+z6^2=a^2+b^2+f^2+k^2+q^2+x^2 THEN PRINT y
next x
next q
NEXT k
NEXT f
NEXT b
NEXT a
END

f9押して
 
631764,6174,549945,495

1秒以下は計測できませんが十進Basicでだいたい押したと同時にMathematicaと同じ数字がでました。
豊川市   6月8日(木) 13:12:34     46415

過去問題一覧へ戻る