2023年改错题.docx
《2023年改错题.docx》由会员分享,可在线阅读,更多相关《2023年改错题.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年改错题 一、改错题 1.求10,1000内所有能被被7和9中至少一个数整除的整数之个数。 * skgc1.prg set talk off clear s=0 &s=0改为n=0 for x=10 to 1000 if mod(x,7)=0 and mod(x,9)=0 & and改为or n=n+x & n=n+x改为n=n+1 endif endfor ? x & x改为n set talk on return & 结果为: 236 2.求10,1000内所有能同时被7和9整除的整数之和。 set talk off clear s=0 for x=10 to 1000 if mo
2、d(x,7)=0 and mod(x,9)=0 s=x & s=x改为s=s+x endif endfor ? x & x改为s set talk on return & 结果为:7560 7.求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。 * * skgc7.prg set talk off clear s=0 for n=1 to 100 s=s+1/n & s=(s+1)/n 改为 s=s+1/n if s=3.5 exit & loop 改为 exit endif endfor ? n-1 set talk on return & 结果为:18 9.求1
3、00以内最大的自然数n,使得从1开始的连续n个自然数的平方和小于5000。 set talk off clear s=0 for n=1 to 100 s=s+n*2 & 改为s=s+n*2 if s=5000 exit endif endfor ? n & 改为 ? n-1 set talk on return & 结果为:24 16.求出50以内最小的自然数n,使得从101开始的连续n个奇数之和大于3000。 set talk off clear s=0 for n=1 to 50 a=101+2*n & a=101+2*n 改为 s=s+99+2*n s=s+a & 去掉 s=s+a i
4、f s3000 exit endif endfor ? s & ? s 改为 ? n set talk on retur & 结果为:25 17.求出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 & s=5000 exit endif endfor ? n & ? n 改为 ? n-1 set talk on return & 结果为:23 20.求出100以内使得算式1+(1+2)+(1+2+n)的值小于1000的最大的自然数n。 set
5、 talk off clear s=0 t=0 for n=1 to 100 s=s+n t=t+s if t & t=1000 exit endif endfor ? n & ? n 改为 ? n-1 set talk on return & 结果为:17 28.某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一翻。 set talk off clear s=1 for n=2023 to 2100 s=s*1.03 if s=2 & s=2 改为 s2 loop & loop 改为 exit endif endfor ? n set talk
6、 on return & 结果为:2024 30.设等比数列:1,2,4,8,。求使得此数列的前n项之和大于100000的最小的自然数n。 set talk off clear a=1 s=1 & s=1 改为 s=0 for n=1 to 100 s=s+a & 在 s=s+a 前加 a=2(n-1) if s100000 exit endif a=2+a & 去掉 a=2+a 该句 endfor ? n set talk on return & 结果为:17 34.求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。 set talk off clear a=45
7、678 n=0 for b=3 to a step 2 if mod(b,a)=0 & mod(b,a) 改为 mod(a,b) n=n+1 endif endfor ? b & ? b 改为 ?n set talk on return & 结果为:7 35.求出203267的所有真因子(即小于它本身的约数)中最大的因子数。 set talk off clear a=203267 n=0 for b=1 to a if mod(a,b)=0 & mod(b,a)=0 改为 mod(a,b)=0 & 加 if b=a & 加 exit & 加 endif max=a & max=a 改为 max
8、=b endif endfor ? a & ?a 改为 ? max set talk on return & 结果为:6557 37.求出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=d & max=b 改为 max=d endif endfor ? max & ?d 改为 ? max set talk on return & 结果为:713 38.求559399的所有非平凡因子(即除1和它本身以外的约数)中最小的。 set talk off
9、 clear a=559399 for n=2 to a if mod(a,n)=0 loop & loop 改为 exit endif endfor return & 结果为:73 42.求9269和8671的最小公倍数。 set talk off clear a=9269 b=8671 for k=a to a*b step a if mod(k,b)0 loop endif & 加 exit endfor ? k set talk on return & 结果为:2668801 44.已知数列:1,2,4,7,11,16,,其规律是相邻两项之差依次是1,2,3,4,5,。试求出此数列中大
10、于5000的最小的项。 set talk off clear a=1 for n=0 to 1000 a=a+n if a5000 loop & loop 改为 exit endif endfor ? n & ?n 改为 ?a set talk on return & 结果为:5051 49.求出100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于88888。 set talk off clear s=0 for n=1 to 100 a=n*3 & a=n*3 改为 a=n3 s=s+a if s88888 exit endif endfor ? a & ?a 改为 ?n s
11、et talk on return & 结果为:24 54.设一数列f(n):f(1)=1,当n1时f(n)=1/(f(n-1)+1)。试求出此数列的前20项中大于0.618的项数。 set talk off clear f=1.00000000 n=0 for k=2 to 20 f=1/f+1 & f=1/f+1 改为 f=1/(f+1) if f0.618 n=n+1 endif endfor ? N & ?n 改为 ? n+1 set talk on return & 答案:15 55.设有用26个字母表示的26个表达式:a=1,b=1/(a+1),c=1/(b+2),z=1/(y+2
12、5)。试求出这26个字母中其值小于0.1的字母个数。 set talk off clear lett=1 n=0 for k=1 to 26 & 26 改为 25 lett=1/(lett+k) if lett n=n+1 endif endfor ? N set talk on return & 答案:16 57.设一个数列的前3项都是1,从第4项开始,每一项都是其前3项之和。试求出此数列的前25项中大于54321的项数。 set talk off clear store 1 to f1,f2,f3 n=0 for k=1 to 25 & k=1 改为 k=4 f=f1+f2+f3 if f
13、54321 n=n+1 endif f1=f2 f2=f3 f3=f1 & f3=f1 改为 f3=f endfor ? n set talk on return & 答案:5 58.已知一个由分数组成的数列:1/2,3/5,8/13,21/34,其特点是:从其中第2个数起,每个分数的分子都是前一分数的分子分母之和。而其分母都是其分子与前一分数的分之和。试求出此数列的前25项中其值大于0.618的项数。 set talk off clear f1=1 f2=2 n=0 for k=1 to 25 f=f1/f2 if f0.618 n=n+1 endif f1=f2 & f1=f2 改为 f1
14、=f1+f2 f2=f1 & f2=f1 改为 f2=f1+f2 endfor ? n set talk on return & 答案:20 62.回文指的是正读和反读都一样的一串字符,如1 21、1221。试求出1421,4112内所有回文数的和。 set talk off clear s=0 for x=1421 to 4112 a=x/1000 & a=x/1000 改为 a=int(x/1000) b=int(x-a*1000)/100) c=int(x-a*1000-b*100)/10) d=x-a*1000-b*100-c*10 if a=d and b=c s=s*x & s=s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 改错
限制150内