未完成数

 投稿者:永野護  投稿日:2012年 6月26日(火)15時55分45秒
  以下はプライム ナンバーズ(DAVID  WELLS著)という本からの抜粋です。
------------------------------------------------------------------------
10進数の各桁の和をm回繰り返してとることを考えます。
このとき最終結果に絶対に現れない数mがあります。
ジョン.コンウェイはこのような数mを未完成数と呼びました。
10進数の未完成数の例は次のとおりです。

62,63,65,75,84,95,161,173,195,216,261,.............
---------------------------------------------------------------
これらの数はどのようにして求めるのでしょうか。
お忙しい中、まことに恐縮ですがどなたかお願いできないでしょうか。
 

Re: 未完成数

 投稿者:山中和義  投稿日:2012年 6月28日(木)20時37分41秒
  > 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

 

未完成数

 投稿者:永野護  投稿日:2012年 6月29日(金)10時30分5秒
  お忙しい中、回答ありがとうございました。
いつもこのサイトではお世話になっています。
これから夏本番を迎えます。皆様方のご健康
をお祈りいたします。
敬具
 

戻る