さて、このプログラムはある記号に代入されている数(たとえば3.14)を求めるプログラムなのですが、何を求めるプログラムかわかる人いますか?
コード: 全て選択
#N88BASIC
const K=100000:const A=9
dim P(K+1) As DWord:dim Q:dim E(K) As DWord:dim I:dim SYORI
dim NAME$:dim S$
NAME$=Str$(K*A)&".txt"
SYORI=0
Q=1
P(K+1)=0
Print SYORI:Locate 0,0
for I=1 To K-1
P(I)=0
E(I)=0
Next I
Print "計算中・・・"
E(0)=1
P(0)=1
*A
P(K+1)=0
Print Int(SYORI)
Locate 0,1
for I=0 To K-1
P(I+1)=P(I+1)+(P(I) Mod Q)*10^A
P(I)=Int(P(I)/Q)
Next I
for I=0 To K-1
E(I)=E(I)+P(I)
if E(I)>=10^A then
E(I)=E(I)-10^A
E(I-1)=E(I-1)+1
End if
Next I
SYORI=SYORI+Q
Q=Q+1
if SYORI>K*A then goto *B
goto *A
*B
for I=0 To K-1
if E(I)>=10^A then
E(I)=E(I)-10^A
E(I-1)=E(I-1)+1
End if
Next I
for I=0 To K-1
if E(I)>=10^A then
E(I)=E(I)-10^A
E(I-1)=E(I-1)+1
End if
Next I
Print K*A
BEEP
Print "保存中・・・"
Open NAME$ for Output As #1
Print #1,Q
Print #1,""
Print #1,"2."
Print #1,E(1)
for I=2 To K
S$=Str$(E(I))
Print #1,S$
Locate 0,3
Print I*A
Next I
Close #1
BEEP
End
ヒントは、数学の世界では「無理数」「超越数」等と呼ばれている数の一つ。