用BASIC巧解IMO试题
f(4n+1)=2f(2n+1)-f(n)
f(4n+3)=3f(2n+1)-2f(n)
问:有多少个nN且n≤1988 使得f(n)=n?
程序一
5 DIM F(1988)
10 F(1)=1:F(2)=1:F(3)=3
15 FOR N=4 TO 1988
20 IF N/2=INT (N/2) THEN
F(N)=F(N/2):GOTO 35
25 IF (N-1)/4=INT ((N-1)/4)THEN
F(N)=F((N+1)/2)*2-F((N-1)/4):GOTO 35
30 F(N)=F((N-1)/2)*3-F((N-3)/4)*2
35 IF F(N)=N THEN P=P+1
40 NEXT N
45 PRITN P+2
题二 确定最小的自然数n,使n!的结尾恰好有1992个0。程序二
5 T=1 10 N=7000
15 N=N+1 20 T=5*T
25 IF T>N THEN 40
30 S=S+INT (N/T)
35 GOTO 20
40 IF S=1992 THEN PRINT N: END
45 T=1:S=0
50 GOTO 15