2023年改错题.docx

上传人:w*** 文档编号:66521714 上传时间:2022-12-14 格式:DOCX 页数:17 大小:16.65KB
返回 下载 相关 举报
2023年改错题.docx_第1页
第1页 / 共17页
2023年改错题.docx_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《2023年改错题.docx》由会员分享,可在线阅读,更多相关《2023年改错题.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

15、*x 改为 s=s+x endif endfor ? s set talk on return & 答案:74250 77.若一个自然数恰好等于某个整数的平方,则称此数为完全平方数。如144是完全平方数,因为它等于12的平方。求1000,3000内所有完全平方数的和。 set talk off clear s=0 for x=1000 to 3000 y=sqrt(x) & y=sqrt(x) 改为 y=int(sqrt(x) if x=y*y s=s+x endif endfor ? x & x 改为 s set talk on return & 答案:43539 二、编程题 78.若一个自

16、然数恰好是它的平方的末后几位数,则称此数为自同构数。如5和76都是自同构数,因为它们的平方分别是25和5776。求2,99999内所有自同构数之和。(提示:若x是m位同构数,则x的平方除以10的m次方的余数就是x) set talk off clear s=0 for x=2 to 99999 y=x*x m=len(ltrim(str(x) if mod(y,10*m)=x s=s+x endif endfor ? y set talk on return & 答案:101114 79.求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较大的一个数。(提示:设A & 答案:95

17、3 82.设a=123,b=541,求a/b的精确值中小数点后40位数字中数字1的个数。(提示:基于人工计算的思想) set talk off clear a=123 b=541 n=0 for k=1 to 40 a=a+0 q=int(a)/b if q=1 n=n+1 endif a=mod(a,b) endfor ? n set talk on return & 答案:3 86.求出将十进制整数98765432等值转换为二进制形式表示后其中数字1的个数。(提示:模拟人工计算的“2除取余”法) set talk off clear a=98765432 p=2 do while a0 r

18、=mod(a,p) if r=1 n=1 endif a=int(a/p) enddo ? N set talk on return & 答案:13 88.求出将十进制整数99887766554等值转换为十六进制形式表示后其中字母C的个数。(提示:模拟人工计算的“16除取余”法) set talk off clear a=99887766554 p=16 n=0 do while a=0 r=mod(a,p) if r=11 n=n+r endif a=int(a/p) enddo ? n set talk on return & 答案:2 89.已知数列f(n):f(1)=1,f(2)=1,

19、当n2时f(n)=f(n-2)+f(n-1)。试求此数列的第15项至第25项共11项之和。 set talk off clear dimension f(25) f(1)=1 f(2)=1 s=0 for n=3 to 25 f(n)=f(n-2)+f(n-1) if n & 答案:195431 91.求出将十进制小数0.987654321等值转换为二进制形式表示后前25位小数中数字0的个数。(提示:使用“2乘取整”法) set talk off clear x=0.987654321 n=0 for k=1 to 25 x=2*x z=int(x) x=x-z if z=1 n=n+z en

20、dif endfor ? n set talk on return & 答案: 8 93.对自然数A、B、C,若A & 答案: 5 95.求方程3x-7y=1在条件|x| & 答案: 26 300、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求300,1000之间能被其因子数目整除的数的总和。 set talk off clea sm=0 for n=300 to 1000 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor if mod(n,s)=0 sm=sm+n endif endfor

21、 ? sm set talk on return 答案:36550 29 6、找满足以下条件: X2+Y2+Z2=412 且X+Y+Z之值最大的三个正整数X,Y,Z, 求X+Y+Z之值.set talk off clea max=0 for x=0 to 41 for y=0 to 41 for z=0 to 41 if x2+y2+z2=41*41 if max 29 5、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后其中二分的硬币恰有20枚的方案共有多少种? set talk off clea n=0 for yi=1 to 60 for wu=1 to 20 er=20

22、 if yi+er*2+wu*5=100 n=n+1 endif endfor endfor ? n set talk on return 答案:11 290、设某四位数的各位数字的平方和等于198,问满足这种条件的最大数和最小数之和是多少? set talk off clea min1=9999 max1=1000 for x=1000 to 9999 a=int(x/1000) b=int(x-a*1000)/100) c=int(x-b*100-a*1000)/10) d=mod(x,10) if a*a+b*b+c*c+d*d=198 if max1x min1=x endif end

23、if endfor ? max1+min1 set talk on return 答案:12749 280、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求两位数中最大的绝对素数与最小绝对素数之差。 set talk off clea min=100 max=0 for i=10 to 99 j=mod(i,10)*10+int(i/10) f1=1 for k=2 to i-1 if mod(i,k)=0 f1=0 endif endfor f2=1 for k=2 to j-1 if mod(j,k)=0 f2=0 endif endfor if f1=

24、1 and f2=1 if mini min=i endif max=i endif endfor ? max-min Return 答案:86 27 6、水仙花数是指这样的数,其各位数字的立方和等于该数本身,如:153=13+53+33。编写程序,计算从100年开始到3000年为止,最大的水仙花数年号为多少? set talk off clea s=100 for i=100 to 3000 a=int(i/1000) b=int(i-a*1000)/100) c=int(mod(i,100)/10) d=mod(i,10) if a*3+b*3+c*3+d*3=i if s 27 3、设有

25、一个12*12方阵A(I,j),其每个元素的值为该元素下标的平方和, 求出该矩阵所有主对角线(i=j)上的元素的累加和.(注:I,j从1开始) set talk off dime a(12,12) s=0 for i=1 to 12 for j=1 to 12 a(i,j)=i*i+j*j if i=j s=s+a(i,j) endif endfor endfor ? s Return 答案:1300 26 9、若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是四位双平方数。例如: 由于7396=862,且7+3+9+6=25=52,则称7396是四位双平方数

26、。求所有四位双平方数且十位数字是3的数的之和。 set talk off clea n=0 for i=1000 to 9999 a=int(i/1000) b=int(i-a*1000)/100) c=int(mod(i,100)/10) d=mod(i,10) x=a+b+c+d if int(sqrt(i)2=i and int(sqrt(x)2=x and c=3 n=n+i endif endfor ? n set talk on return 答案:8836 26 4、编写程序,求所有符合算式ij*ji=1300的最大数ij(即i*10+j)。其中i、j是19之间的一位整数。 se

27、t talk off clea max=0 for i=1 to 9 for j=1 to 9 if (10*i+j)*(10*j+i)=1300 if max 26 1、勾股弦数是满足公式: A2+B2=C2 (假定A 55、分子分母为正整数,分子小于分母且分子分母无公因数的分数称为最简真分数。对于分数的分母取值范围为 50,90 时的最简真分数共有多少个。 set talk off clea n=0 for a=2 to 90 & for b=50 to 90 & if a 2 31、求满足条件A*B=67532的所有自然数对A、B对应的A+B的最小值。(提示:设A 2 25、将大于100

28、0且能被3和5中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。 set talk off clear k=0 s=0 x=1000 do while k 2 24、求出1234,2346内恰好有两位数字是6所有整数的和(注意AT()函数和STR()函数的功能)。 set talk off clear s=0 for x=1234 to 2346 if at(6,str(x),2)!=0 and at(6,str(x),3)=0 s=s+x endif endfor ? s set talk on return 答案:47583 20 1、一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最小的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程超过589米。 set talk off clear h=100 s=h for n=2 to 100 h=h*3/4 s=s+2*h if s589 exit endif endfor ?n set talk on return 答案:7 改错题 改错题 改错题 改错题 改错题 改错题 改错题 改错题 改错题 改错题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁