回文数

 投稿者:山中和義  投稿日:2016年 3月 8日(火)10時22分13秒
  問題
同じ数を3,5,10進数で表しても「回文数」となる10進数で10以上の最小の数は何?


FOR N=10 TO 10^8
   IF F(N,10)=1 AND F(N,5)=1 AND F(N,3)=1 THEN PRINT N
NEXT N
END
EXTERNAL FUNCTION F(N,P)
LET X=0
LET T=N
DO WHILE T>0
   LET X=X*P+MOD(T,P)
   LET T=INT(T/P)
LOOP
IF X=N THEN LET F=1 ELSE LET F=0
END FUNCTION

 

Re: 回文数

 投稿者:たろさ  投稿日:2016年 3月 8日(火)23時20分34秒
  > No.3991[元記事へ]

山中和義さんへのお返事です。

Wikipedia「回文数」を見て遊んで見ました。

!回文数 #3991
OPTION ARITHMETIC NATIVE       !2進モード
DECLARE EXTERNAL FUNCTION F
LET t0=TIME
FOR I=1 TO 8
   LET C=0
   PRINT I+1;"桁";
   FOR N=10^i TO 10^(i+1)
      IF F(N,10)=1 THEN LET C=C+1
   NEXT N
   PRINT C;"個"
NEXT I
PRINT TIME-t0;"秒"
END
EXTERNAL FUNCTION F(N,P)
OPTION ARITHMETIC NATIVE       !2進モード
LET X=0
LET T=N
DO WHILE T>0
   LET X=X*P+MOD(T,P)
   LET T=INT(T/P)
LOOP
IF X=N THEN LET F=1 ELSE LET F=0
END FUNCTION

-------------------------------------
計算結果
2 桁 9 個
3 桁 90 個
4 桁 90 個
5 桁 900 個
6 桁 900 個
7 桁 9000 個
8 桁 9000 個
9 桁 90000 個
1441.65800000001 秒   (AMD Athlon64 3800+ 2.4GHz)

自然数だけゼロを除くと
1桁  9
2桁  9
3桁  90
4桁  90
5桁  900
6桁  900
7桁  9000
8桁  9000
9桁  90000
10桁 90000

x=11桁
1099999-199999=900000

x=12桁
1999999-1099999=900000

x=13桁
10999999-1999999=9000000

x=14桁
19999999-10999999=9000000

組み合わせ

1=11--------------------9
111=1111----------------9*5*2
11111=111111------------9*5^2*2^2
1111111=11111111--------9*5^3*2^3
111111111=1111111111----9*5^4*2^4

回文数の個数の数式
9*10*10*10*10*・・・

SQR(SQR(SQR(1)))繰り返しは黄金比

!φファイ  黄金比1000桁
OPTION ARITHMETIC DECIMAL_HIGH
LET L=SQR(1)

FOR n=1 TO 1000
   LET  H=SQR(1+L)
   LET H=SQR(1+H)
   LET L=H
   PRINT H
NEXT n
PRINT "φ="
PRINT (1+SQR(5))/2
END
---------------------------

似ているのか?  わかりませんが

1/27711772
1/6927943
4/6927943
11/2519252
11/629813
44/629813
571/48532
1103/25124
571/12133
1103/6281
2284/12133
4412/6281

Σ= 736323/629813

1.1691136893014275665951639613663103175069425369117


116911(11035th prime)  180度回転数?

追記
やっと計算終了
------------------------
!回文数 #3991
OPTION ARITHMETIC NATIVE       !2進モード
DECLARE EXTERNAL FUNCTION F
LET t0=TIME
FOR I=1 TO 8
   LET C=0
   PRINT I+1;"桁";
   FOR N=10^i TO 10^(i+1)
      IF F(N,10)=1 AND F(N,5)=1 THEN LET C=C+1
   NEXT N
   PRINT C;"個"
NEXT I
PRINT TIME-t0;"秒"
END
EXTERNAL FUNCTION F(N,P)
OPTION ARITHMETIC NATIVE       !2進モード
LET X=0
LET T=N
DO WHILE T>0
   LET X=X*P+MOD(T,P)
   LET T=INT(T/P)
LOOP
IF X=N THEN LET F=1 ELSE LET F=0
END FUNCTION
------------------------
計算結果
2 桁 1 個
3 桁 4 個
4 桁 1 個
5 桁 2 個
6 桁 0 個
7 桁 0 個
8 桁 6 個
9 桁 5 個
4820.06 秒(AMD Athlon64 3800+ 2.4GHz)10進BASIC


こうなると、法則が見えません。




http://blogs.yahoo.co.jp/donald_stinger

 

戻る