『1999 Part10』解答


◆広島県 清川 育男 さんからの解答。

十進BASIC(1000桁)でプログラミングしました。

答え 5734桁。

LET  D=0
LET  BEKI=994
LET  N=1
FOR I=2 TO 1999
 LET  N=N*I
 IF N>10^BEKI THEN
  LET  D=D+1
  LET  N=N/(10^BEKI)   
 END IF
NEXT I
FOR I=1 TO 1000
 LET  N=N/10
 IF 0<N AND N<10 THEN
 LET  KETA=(BEKI*D+1)+(I+1)   
 LET  I=1000 
 END IF
NEXT I
PRINT KETA
END


◆東京都 未菜実 さんからの解答。

清川さんが解答を出されているので、どうかと思ったのですが、1桁答が違ってしまいました。
私の計算間違いですかね?

x=log(1999!)

底10で計算するとx=5732.22

100.22×105732
=1.6595×105732で5733桁???


◆富山県 N.C さんからの解答。

私のプログラムでは5733桁になりました。

10 L=0
20 for I=1 to 1999
30   L=L+log(I)
40 next
50 print int(L/log(10))+1
60 end


◆広島県 清川 育男 さんからの解答。

間違っていました。

LET KETA=(BEKI*D+1)+I

+1が余計でした。
失礼しました。


 『1999 Part10』へ

 数学の部屋へもどる