|
> No.1915[元記事へ]
永野護さんへのお返事です。
> 以下はプライム ナンバーズ(DAVID WELLS著)という本からの抜粋です。
> ------------------------------------------------------------------------
> 10進数の各桁の和をm回繰り返してとることを考えます。
> このとき最終結果に絶対に現れない数mがあります。
> ジョン.コンウェイはこのような数mを未完成数と呼びました。
> 10進数の未完成数の例は次のとおりです。
>
> 62,63,65,75,84,95,161,173,195,216,261,.............
> ---------------------------------------------------------------
> これらの数はどのようにして求めるのでしょうか。
定義があいまいなような?
!未完成数(Inconsummate numbers)
LET P=10 !p進法
LET M=250 !250n ※MATHEMATICA
FOR n=1 TO 1000 !1~1000
LET k=n
!!PRINT " n k s s*n" !debug
DO WHILE IntegerDigits(k,p)*n<>k AND k<M*n
!!PRINT n;k; " ";STR$(IntegerDigits(k,p));"*";STR$(n);"="; IntegerDigits(k,p)*n !debug
LET k=k+n
LOOP
!!PRINT n;k; " ";STR$(IntegerDigits(k,p));"*";STR$(n);"="; IntegerDigits(k,p)*n !debug
IF k=M*n THEN PRINT n
NEXT n
END
EXTERNAL FUNCTION IntegerDigits(k,p) !p進法表記での各桁の和
LET t=k
LET s=0 !各桁の和
DO WHILE t>0 !p進法変換
LET s=s+MOD(t,P)
LET t=INT(t/P) !次の桁へ
LOOP
LET IntegerDigits=s
END FUNCTION
|
|