程序改错和填空题选
程 序 设 计 题 选
1、求100以内最大的自然数N,使得从1开始的连续N个自然数的倒数之和小于3.5。 SET TALK OFF CLEAR S=0
FOR N=1 TO 100 S=(S+1)/N IF S>=3.5 LOOP ENDIF ENDFOR ? N-1
SET TALK ON RETURN
\运行结果:18\
2、 求100以内最小的自然数N,使得从1开始的连续N个自然数的倒数之和大于3.6。 SET TALK OFF CLEAR S=0
FOR N=1 TO 100 S=S+1/N IF S<=3.6 LOOP ENDIF ENDFOR ? N
SET TALK ON RETURN
\运行结果:21\
3、求50以内最大的自然数N,使得从102开始的连续N个偶数之和小于3000。 SET TALK OFF CLEAR S=0
FOR N=1 TO 50 A=100+2*N S=S*A
IF S>=3000 LOOP ENDIF ENDFOR ? N-1
SET TALK ON RETURN
\运行结果:23\
4、求50以内最小的自然数N,使得从102开始的连续N个偶数之和大于2000。 SET TALK OFF CLEAR S=0
FOR N=1 TO 50 A=102+2*N S=S+A IF S>2000 LOOP ENDIF ENDFOR ? N
SET TALK ON RETURN
1
程序改错和填空题选
\运行结果:17\
5、 求出100以内使得算式1*2+2*3+?+N*(N+1)的值小于5000的最大的自然数N。 SET TALK OFF CLEAR S=0
FOR N=1 TO 100 A=N*(N+1) S=S+A IF S<5000 EXIT ENDIF ENDFOR ? N
SET TALK ON RETURN
\运行结果:23\
6、 求出100以内使得算式1*2+2*3+?+N*(N+1)的值大于6000的最小的自然数N。 SET TALK OFF CLEAR S=0
FOR N=1 TO 100 A=N*(N+1) S=S+A
IF S<=6000 LOOP ENDIF ENDFOR ? N
SET TALK ON RETURN
\运行结果:26\
7、求出100以内使得算式1+(1+2)+?+(1+2+?+N)的值小于1000的最大的自然数N。 SET TALK OFF CLEAR S=0 T=0
FOR N=1 TO 100 S=S+N T=T+S
IF T<1000 EXIT ENDIF ENDFOR ? N
SET TALK ON RETURN
\运行结果:17\
8、 求出100以内最大的奇数N使得算式(1-1/2)+(1/3-1/4)+?+(1/N-1/(N+1))的值小于0.68。 SET TALK OFF CLEAR S=0
FOR N=1 TO 100 STEP 2 A=1/N-1/(N+1) S=S+A IF S<0.68 EXIT ENDIF ENDFOR ? N-2
SET TALK ON RETURN
2
程序改错和填空题选
\运行结果:35\
9、某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一翻。
SET TALK OFF CLEAR S=1
FOR N=2001 TO 2100 S=S*1.03 IF S=2 LOOP ENDIF ENDFOR ? N
SET TALK ON RETURN
\运行结果:2024\
9、设等比数列:1,2,4,8,?。求使得此数列的前N项之和大于100000的最小的自然数N。 SET TALK OFF CLEAR A=1 S=1
FOR N=1 TO 100 S=S+A
IF S>100000 EXIT ENDIF A=2+A ENDFOR ? N
SET TALK ON RETURN
\运行结果:17\
10、设等比数列:1,2,4,8,?。求使得此数列的前N项之和小于2345678的最大的自然数N。 SET TALK OFF CLEAR A=1 S=0
FOR N=1 TO 100 S=S+A
IF S>=2345678 EXIT ENDIF A=2+A ENDFOR ? N
SET TALK ON RETURN
\运行结果:21\
11、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。 SET TALK OFF CLEAR A=45678 N=0
FOR B=3 TO A STEP 2 IF MOD(B,A)=0 N=N+1 ENDIF ENDFOR ? B
SET TALK ON
3
程序改错和填空题选
RETURN
\运行结果:7\
12、求出20677和42067的最大公约数。 SET TALK OFF CLEAR A=20677 B=42067
FOR D=1 TO A
IF MOD(A,D)=0 AND MOD(B,D)=0 MAX=B ENDIF ENDFOR ? D
SET TALK ON RETURN
\运行结果:713\
13、求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。 SET TALK OFF CLEAR S=0
FOR N=1 TO 100
IF MOD(N,6)=0 AND MOD(N,8)=0 S=SQRT(S+N) ENDIF ENDFOR
? ROUND(S,0) SET TALK ON RETURN
\运行结果:162\
14、求所有符合算式AB*BA=2701的最小的两位数AB(即A*10+B)。其中A、B是1~9之间的一位整数。 SET TALK OFF CLEAR
FOR X=11 TO 99 A=X/10
B=MOD(X,10) Y=10*A+B IF X*Y=2701 EXIT ENDIF ENDFOR ? X
SET TALK ON RETURN
\运行结果:37\
15、已知数列:1,2,4,7,11,16,?,其规律是相邻两项之差依次是1,2,3,4,5,?。试求出此数列中大于5000的最小的项。
SET TALK OFF CLEAR A=1
FOR N=0 TO 1000 A=A+N IF A>5000 LOOP ENDIF ENDFOR ? N
SET TALK ON RETURN
\运行结果:5051\
16、已知数列:1,2,4,7,11,16,?,其规律是相邻两项之差依次是1,2,3,4,5,?。试求出此数列中小于6000的最大的项。
4
相关推荐: