用BASIC巧解IMO试题

Author: 云南 苏 俊 Date: 1992-05-15

        题一 N为正整数集。在N上定义函数f如下:f(1)=1,f(3)=3且对nN有f(2n)=f(n)
        f(4n+1)=2f(2n+1)-f(n)
        f(4n+3)=3f(2n+1)-2f(n)
        问:有多少个nN且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