◆広島県 清川 育男 さんからの解答。
十進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が余計でした。
失礼しました。