用BASIC巧解IMO试题 云南 苏 俊 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