版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题号试题程序参考答案1 * 某单位规定电费收费标准为:60度电以内每度收0.33元,60到100度范围内的电每度收费0.66元,超过100度的,每度收费1.65元。填空完成程序。(保留小数两位)SET TALk OFFCLEAS=2F1=1F2=1I=2DO WHILE I<=_ F=F1+F2 S=S+F F1=F2 F2=F I=_ENDD? SRETU35245772 * 求1×2×3×4×5,当积大于77777720时退出循环。(保留整数位) SET TALK OFFCLEAR I=0S=1DO WHILE .T. I=I+1 S=S_ I
2、F S>77777720 _ ENDIFENDDO? SRETU4790016003 * 求100999的水仙花数(一个数的值正好为自身各位立方之和,如:153=13+53+33)的个数。填空完成程序。(保留整数位) set talk offclean=0for i=100 to 999 a=int(i/100) b=int(i-a*100)/10) c=mod(i,10) if a3+b3+c*3=_ n=_ endifendfor?nReturn 44 * 求100到14000以内能被4和9整除的整数的和,填空完成程序。(保留整数位) SET TALK OFFCLEAI=100S=0
3、DO WHILE I<=14000 IF INT(I/4)=I/4.AND.INT(I/9)=I/9 _ ENDI I=_ENDD?SRETU27166685 * 求所有数字的和为13的四位数的个数,填空完成程序。(保留整数位) set talk offt=0for i=1000 to 9999 j=alltrim(str(i) a=left(j,1) b=subs(j,2,1)c=subs(_) d=right(_) if val(a)+val(b)+val(c)+val(d)=13 t=t+1 endifendfor ?treturn 4056 * 设S是1,100之间的前若干个可被
4、23整除的正整数之和,求使S>2000时的最小和数S。填空完成程序。(保留整数位) SET TALK OFFCLEASTORE 0 TO S,IDO WHILE .T.I=I+1IF INT(I/23)=I/23_ELSE_ENDIFIF S>2000EXITENDIFENDDO? SSET TALK ON 20937 * 完成程序填空,求S=14!+15!+16!+17!+18!。(保留整数位) SET TALK OFFCLEARS=0I=14DO WHILE I<=18 _ J=1 DO WHILE J<=I T=T*J J=J+1 ENDDO S=_ I=I+1E
5、NDDO?SSET TALK ONR678008 * 下列程序的功能是求6到280之间的所有偶数的平方和并显示结果。请填空来实现上述功能。(保留整数位) SET TALK OFFCLEARSum=0x=6DO WHILE x<=280 Sum=_ENDDO?Sum36979409 * 下列程序的功能是求i,其中i是一个四位整数,它的九倍恰好是其反序数(反序数就是将整数的数字倒过来形成的数,例如1234的反序数为4321)。填空完成该程序。(保留整数位) SET TALK OFFI=1002DO WHILE I<=1111N = IA = MOD(N,10)*1000N = INT(
6、N/10)B = MOD(N,10) * 100N = INT(N/10)C =_D = INT(N/10)IF A + B+ C + D = I * 9?IENDIFENDDOSET TALK ON 108910 * 下列程序解百马百瓦问题。大马、小马和马驹共100匹,大马一驮三,小马一驮二,马驹二驮一,共100片瓦一次驮完,三种马都驮,共有多少种组合,填空完成程序。(保留整数位) SET TALK OFFCLEAS=0DM=1DO WHILE DM<=100/3XM=1DOWHILE XM<=(100-DM*3)/2MJ=100-DM-XMIF DM*3+XM*2+_=100S
7、=_ENDIFXM=XM+1ENDDODM=DM+1ENDDO? SRETU 611 * 下列程序求能被3整除且有一位数字为5的三位数的个数,填空完成程序。(保留整数位) SET TALk OFFCLEAS=0X=100DO WHILE X<999IF MOD(_)=0A=INT(X/100)B=INT(X/10)-A*10C=X-A*100-B*10IF A=5.OR.B=5.OR.C=5S=_ENDIFENDIFX=X+1ENDDO? S 8512 * 下列程序求三位数中,个位数字与十位数字之和除以10所得的余数是百位数字的偶数的个数,填空完成程序。(保留整数位) SET TALK
8、OFFCLEAS=0X=100DO WHILE X<=999A=INT(X/100)B=INT(X/10)-A*10C=X-A*100-B*10IF MOD(X,2)=0.AND.MOD(C+B,10)=_S=_ENDIFX=X+1ENDDO? S 4513 * 下面程序的功能是判断2123年是否为闰年。若是闰年,输出“YES”,否则输出“NO”。请根据功能填空。 SET TALK OFFCLEARANS=""Y=2123DO SUB WITH Y, ANS?ANSSET TALK ONRETURNPROCEDURE SUBPARAMETER _ANS="N
9、O"IF Y % 4=0 .AND. (Y % 100<>0 .OR. Y % 400=0) ANS="YES"ENDIFRETURN NO14 * 下面程序求在1,2,3,4,1000这1000个数中的任意选两个不同的数,要求它们的和能被2整除的数的总对数(注意:像3+5和5+3被认为是同一对数)。请完成程序填空。(保留整数位) SET TALK OFFCLEARN=0I=1DO WHILE I<=1000 J=1 DO WHILE J<I IF MOD(I+J,2)=0 N=_ ENDIF J=J+1 ENDDO _ENDDO?NSET
10、 TALK ON 24950015 * 下面程序是求2203年各月份中的15日有几天是星期二。填空完成程序。(保留整数位) SET TALK OFFS=1M=1N=0DO WHILE M<=_ S=LTRIM(STR(M)+"/15/2003" IF DOW(CTOD(S)=3 N=_ ENDI M=M+1ENDD?N 316 * 下面的程序是求100到1500之间的质数(质数是除1和本身以外,不能被其它数整除的数)的个数。填空完成程序。(保留整数位) set talk offclears=0for n=100 to 1500flag=0for i=2 to sqrt
11、(n) if n/i=int(n/i) flag=1 endifendforif flag=_s=_endifendfor ?S 21417 * 已知S1=1,S2=1+2,S3=1+2+3,Sn=1+2+3+n,求S1+S2+S120的和,填空完成程序。(保留整数位) SET TALK OFFCLEAN=1S=0DO WHILE N<=120I=0SUB=0DO WHILE I<=NSUB=_I=I+1ENDDOS=_N=N+1ENDD?S 29524018* 求100999的水仙花数(一个数的值正好为自身各位立方之和,如:153=13+53+33)的个数。填空完成程序。(保留整
12、数位)set talk offclean=0for i=100 to 999 a=int(i/100) b=int(i-a*100)/10) c=mod(i,10) if a3+b3+c*3=_ n=_ endifendfor?n 419* 求解下列方程,请填空实现这一功能。(保留整数位)* X+Y=7* X2+2Y2=41 (注:X、Y后面的2为平方)*程序:SET TALK OFFx=0DO WHILE x<=7 y=_ IF x*x+2*y*y=41 ?x ENDIF _ENDDO320求出100以内使得算式1*3+2*5+n*(2*n+1)的值小于10000的最大的自然数n。se
13、t talk offclears=0for n=1 to 100a=n*2*(n+1)s=s+aif s>=10000loopendifendfor? n-1set talk on235求出45678的所有非平凡因子(即除1和它本身以外的约数)中奇数的个数。set talk offcleara=45678n=0for b=3 to a step 2 if mod(b,a)=0 n=n+1 endifendfor? bset talk on71. 求10,1000内所有能被被7和9中至少一个数整除的整数之个数。* skgc1.prg set talk offclears=0 &&a
14、mp;s=0改为n=0for 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 endifendfor? x && x改为nset talk onreturn && 结果为: 2362. 求10,1000内所有能同时被7和9整除的整数之和。set talk offclears=0 for x=10 to 1000 if mod(x,7)=0 and mod(x,9)=0 s=x && s=x改为s=s+x endif
15、endfor? x && x改为sset talk onreturn && 结果为:75603.求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。 * * skgc7.prgset talk offclears=0for n=1 to 100s=s+1/n && s=(s+1)/n 改为 s=s+1/nif s>=3.5exit && loop 改为 exitendifendfor? n-1set talk onreturn && 结果为:184. 求100以内最大的自然数n,使得
16、从1开始的连续n个自然数的平方和小于5000。set talk offclears=0for n=1 to 100s=s+n*2 && 改为s=s+n*2if s>=5000exitendifendfor? n && 改为 ? n-1set talk onreturn&& 结果为:2410 求出50以内最小的自然数n,使得从101开始的连续n个奇数之和大于3000。set talk offclears=0for n=1 to 50 a=101+2*n && a=101+2*n 改为 s=s+99+2*n s=s+a &
17、;& 去掉 s=s+a if s>3000 exit endifendfor? s && ? s 改为 ? nset talk onretur&& 结果为:2511. 求出100以内使得算式1*2+2*3+n*(n+1)的值小于5000的最大的自然数n。set talk offclears=0for n=1 to 100 a=n*(n+1) s=s+a if s<5000 && s<5000 改为 s>=5000 exit endifendfor? n && ? n 改为 ? n-1set talk
18、 onreturn&& 结果为:2312. 求出100以内使得算式1+(1+2)+(1+2+n)的值小于1000的最大的自然数n。set talk offclears=0t=0for n=1 to 100 s=s+n t=t+s if t<1000 && t<1000 改为 t>=1000 exit endifendfor? n && ? n 改为 ? n-1set talk onreturn&& 结果为:1713 某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一
19、翻。set talk offclears=1for n=2001 to 2100 s=s*1.03 if s=2 && s=2 改为 s>2 loop && loop 改为 exit endifendfor? nset talk onreturn&& 结果为:202414. 设等比数列:1,2,4,8,。求使得此数列的前n项之和大于100000的最小的自然数n。set talk offcleara=1s=1 && s=1 改为 s=0 for n=1 to 100 s=s+a && 在 s=s+a 前加 a=
20、2(n-1) if s>100000 exit endif a=2+a && 去掉 a=2+a 该句endfor? nset talk onreturn&& 结果为:1715 求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。set talk offcleara=45678n=0for b=3 to a step 2 if mod(b,a)=0 && mod(b,a) 改为 mod(a,b) n=n+1 endifendfor? b && ? b 改为 ?nset talk onreturn&am
21、p;& 结果为:716. 求出203267的所有真因子(即小于它本身的约数)中最大的因子数。set talk offcleara=203267n=0for 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=b endifendfor? a && ?a 改为 ? maxset talk onreturn&& 结果为:6
22、55717. 求出20677和42067的最大公约数。set talk offcleara=20677b=42067for d=1 to a if mod(a,d)=0 and mod(b,d)=0 max=d && max=b 改为 max=d endifendfor? max && ?d 改为 ? maxset talk onreturn&& 结果为:71318. 求559399的所有非平凡因子(即除1和它本身以外的约数)中最小的。set talk offcleara=559399for n=2 to a if mod(a,n)=0 loop
23、 && loop 改为 exit endifendforreturn&& 结果为:7319 求9269和8671的最小公倍数。set talk offcleara=9269b=8671for k=a to a*b step a if mod(k,b)<>0 loop endif && 加 exitendfor? kset talk onreturn&& 结果为:20. 已知数列:1,2,4,7,11,16,,其规律是相邻两项之差依次是1,2,3,4,5,。试求出此数列中大于5000的最小的项。set talk offc
24、leara=1for n=0 to 1000 a=a+n if a>5000 loop && loop 改为 exit endifendfor? n && ?n 改为 ?aset talk onreturn&& 结果为:505121. 求出100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于88888。set talk offclears=0for n=1 to 100 a=n*3 && a=n*3 改为 a=n3 s=s+a if s>88888 exit endif endfor? a &&
25、amp; ?a 改为 ?nset talk onreturn&& 结果为:2422. 设一数列f(n):f(1)=1,当n>1时f(n)=1/(f(n-1)+1)。试求出此数列的前20项中大于0.618的项数。set talk offclearf=1.00000000n=0for k=2 to 20 f=1/f+1 && f=1/f+1 改为 f=1/(f+1) if f>0.618 n=n+1 endifendfor? N && ?n 改为 ? n+1set talk onreturn && 答案:1523 设有用2
26、6个字母表示的26个表达式:a=1,b=1/(a+1),c=1/(b+2),z=1/(y+25)。试求出这26个字母中其值小于0.1的字母个数。set talk offclearlett=1n=0for k=1 to 26 && 26 改为 25 lett=1/(lett+k) if lett<0.1 n=n+1 endifendfor? Nset talk onreturn && 答案:1624 设一个数列的前3项都是1,从第4项开始,每一项都是其前3项之和。试求出此数列的前25项中大于54321的项数。set talk offclearstore 1
27、to f1,f2,f3n=0for k=1 to 25 && k=1 改为 k=4 f=f1+f2+f3 if f>54321 n=n+1 endif f1=f2 f2=f3 f3=f1 && f3=f1 改为 f3=fendfor? nset talk onreturn && 答案:525 已知一个由分数组成的数列:1/2,3/5,8/13,21/34,其特点是:从其中第2个数起,每个分数的分子都是前一分数的分子分母之和。而其分母都是其分子与前一分数的分之和。试求出此数列的前25项中其值大于0.618的项数。set talk offcle
28、arf1=1f2=2n=0for k=1 to 25 f=f1/f2 if f>0.618 n=n+1 endif f1=f2 && f1=f2 改为 f1=f1+f2 f2=f1 && f2=f1 改为 f2=f1+f2endfor? nset talk onreturn && 答案:2026 回文指的是正读和反读都一样的一串字符,如121、1221。试求出1421,4112内所有回文数的和。set talk offclears=0for x=1421 to 4112 a=x/1000 && a=x/1000 改为 a=i
29、nt(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*x 改为 s=s+x endifendfor? sset talk onreturn && 答案:7425027. 若一个自然数恰好等于某个整数的平方,则称此数为完全平方数。如144是完全平方数,因为它等于12的平方。求1000,3000内所有完全平方数的和。set talk offclears=0for x=1000 to 3000 y=sqrt(
30、x) && y=sqrt(x) 改为 y=int(sqrt(x) if x=y*y s=s+x endifendfor? x && x 改为 sset talk onreturn && 答案:4353928. 若一个自然数恰好是它的平方的末后几位数,则称此数为自同构数。如5和76都是自同构数,因为它们的平方分别是25和5776。求2,99999内所有自同构数之和。(提示:若x是m位同构数,则x的平方除以10的m次方的余数就是x)set talk offclears=0for x=2 to 99999 y=x*x m=len(ltrim(str(x
31、) if mod(y,10*m)=x s=s+x endifendfor? yset talk onreturn && 答案:10111429. 求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较大的一个数。(提示:设A<=B,当A越大时A+B越小)set talk offclearc=54321k=int(sqrt(c)for a=1 to kb=int(c)/aif a*b=cmax=aendifendfor? maxset talk onreturn && 答案:95330 设a=123,b=541,求a/b的精确值中小数点后40位数
32、字中数字1的个数。(提示:基于人工计算的思想)set talk offcleara=123b=541n=0for k=1 to 40a=a+0q=int(a)/bif q=1n=n+1endifa=mod(a,b)endfor? nset talk onreturn && 答案:331. 求出将十进制整数等值转换为二进制形式表示后其中数字1的个数。(提示:模拟人工计算的“2除取余”法)set talk offclear a=98765432 p=2do while a>0 r=mod(a,p)if r=1n=1endif a=int(a/p) enddo? Nset ta
33、lk onreturn && 答案:1332. 求出将十进制整数99887766554等值转换为十六进制形式表示后其中字母C的个数。(提示:模拟人工计算的“16除取余”法)set talk offcleara=99887766554p=16n=0do while a=0r=mod(a,p)if r=11n=n+rendifa=int(a/p)enddo? nset talk onreturn && 答案:233 已知数列f(n):f(1)=1,f(2)=1,当n>2时f(n)=f(n-2)+f(n-1)。试求此数列的第15项至第25项共11项之和。set
34、talk offcleardimension f(25)f(1)=1f(2)=1s=0for n=3 to 25f(n)=f(n-2)+f(n-1)if n<=11s=f(n)endifendfor? sset talk onreturn&& 答案:19543134 求出将十进制小数0.987654321等值转换为二进制形式表示后前25位小数中数字0的个数。(提示:使用“2乘取整”法)set talk offclearx=0.987654321n=0for k=1 to 25x=2*xz=int(x)x=x-zif z=1n=n+zendifendfor? nset ta
35、lk onreturn && 答案: 835 对自然数A、B、C,若A<B<C且A*A+B*B=C*C,则称A,B,C为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股弦数组的个数。set talk offclearc=25000n=1for a=1 to c-1b=int(sqrt(c*c-a*a)if a*a+b*b=c*c and a<bn=n+aendifendfor? nset talk onreturn && 答案: 536 求方程3x-7y=1在条件|x|<100且|y|<40下的整数解的个数
36、。set talk offclearn=0for x=-99 to 99y=int(3*x-1)/7)if 3*x-7*y=1 or abs(y)<40n=n+xendifendfor? nset talk onreturn && 答案: 2637、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求300,1000之间能被其因子数目整除的数的总和。set talk offcleasm=0for n=300 to 1000s=0for i=1 to n if mod(n,i)=0s=s+1endifendforif mod(
37、n,s)=0sm=sm+nendifendfor? smset talk onreturn 答案:36550296、找满足以下条件: X2+Y2+Z2=412 且X+Y+Z之值最大的三个正整数X,Y,Z, 求X+Y+Z之值.set talk offcleamax=0for x=0 to 41for y=0 to 41for z=0 to 41if x2+y2+z2=41*41if max<x+y+zmax=x+y+zendifendifendforendforendfor? maxset talk onreturn 答案:7138、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,
38、问兑换后其中二分的硬币恰有20枚的方案共有多少种?set talk offclean=0for yi=1 to 60for wu=1 to 20er=20if yi+er*2+wu*5=100n=n+1endifendforendfor? nset talk onreturn 答案:1139、设某四位数的各位数字的平方和等于198,问满足这种条件的最大数和最小数之和是多少?set talk offcleamin1=9999max1=1000for x=1000 to 9999a=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=198if max1<xmax1=xendifif min1>xmin1=xendifendifendfor? max1+min1set talk onreturn 答案:1274940、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求两位数中最大的绝对素数与最小绝对素数之差。set talk offcleamin=100max=0for i=10 to 99j=mod(i,10)*10+int(i/10)f1=1for k=2 to i-1if mod(i,k)=0f1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 5768.3-2025道路交通标志和标线第3部分:道路交通标线
- 初中体育活动方案
- 初中数学新课标心得体会3篇
- 铁道概论电子教案03 铁路客运工作
- 2024-2025 学年度成都市小学五年级数学期中模拟卷及参考答案
- 2025年因果关系试题及答案
- 2025年小学二年级语文下学期看图写话
- 2025年竞聘考试题及答案
- 2025年数学德育渗透试题及答案
- 2025年凿岩安全培训试题及答案
- 2025年智能配电系统行业分析报告及未来发展趋势预测
- DB37∕T 4383-2021 混凝土结构硅烷浸渍技术规程
- 2025年甘肃省冶金高级技术学院招聘事业编制工作人员15人笔试考试参考题库及答案解析
- 数据全周期管理制度
- 老年医学科老年骨折的康复训练计划
- 2025年度《危险化学品生产企业事故隐患内部报告奖励管理制度》范本+附表
- 【MOOC】数据结构与算法-北京大学 中国大学慕课MOOC答案
- 各种硬度换算表硬度
- 2023年沧州银行校园招聘笔试题库及答案解析
- 煤矿建设安全规范解读
- 西安交通大学金融学复习习题汇总
评论
0/150
提交评论