收藏 分销(赏)

VFP程序题(已改)复习进程.doc

上传人:w****g 文档编号:3787929 上传时间:2024-07-18 格式:DOC 页数:29 大小:107KB
下载 相关 举报
VFP程序题(已改)复习进程.doc_第1页
第1页 / 共29页
VFP程序题(已改)复习进程.doc_第2页
第2页 / 共29页
VFP程序题(已改)复习进程.doc_第3页
第3页 / 共29页
VFP程序题(已改)复习进程.doc_第4页
第4页 / 共29页
VFP程序题(已改)复习进程.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、精品文档程 序 设 计 题 选1、求100以内最大的自然数N,使得从1开始的连续N个自然数的倒数之和小于3.5。SET TALK OFFCLEARS=0FOR N=1 TO 100 S=(S+1)/N 改正:S=S+1/N IF S=3.5 LOOP 改正:EXIT ENDIFENDFOR? N-1SET TALK ONRETURN 运行结果:182、 求100以内最小的自然数N,使得从1开始的连续N个自然数的倒数之和大于3.6。SET TALK OFFCLEARS=0FOR N=1 TO 100S=S+1/NIF S3.6 LOOP 改正:EXITENDIFENDFOR? NSET TALK

2、 ONRETURN运行结果:213、求50以内最大的自然数N,使得从102开始的连续N个偶数之和小于3000。SET TALK OFFCLEARS=0FOR N=1 TO 50A=100+2*N S=S*A 改正:S=S+A IF S=3000 LOOP 改正:EXIT ENDIFENDFOR? N-1SET TALK ONRETURN运行结果:234、求50以内最小的自然数N,使得从102开始的连续N个偶数之和大于2000。SET TALK OFFCLEARS=0FOR N=1 TO 50A=102+2*N 改正:A=100+2*NS=S+AIF S2000 LOOP 改正:EXITENDI

3、FENDFOR? NSET TALK ONRETURN运行结果:175、 求出100以内使得算式1*2+2*3+N*(N+1)的值小于5000的最大的自然数N。SET TALK OFFCLEARS=0FOR N=1 TO 100A=N*(N+1)S=S+AIF S5000 EXITENDIFENDFOR? N 改正:? N-1SET TALK ONRETURN运行结果:236、 求出100以内使得算式1*2+2*3+N*(N+1)的值大于6000的最小的自然数N。SET TALK OFFCLEAR S=0FOR N=1 TO 100 A=N*(N+1) S=S+A IF S6000 LOOP

4、改正:EXIT ENDIFENDFOR? NSET TALK ONRETURN运行结果:267、求出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 T1000 EXIT ENDIFENDFOR? N 改正:? N-1SET TALK ONRETURN运行结果:178、 求出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

5、STEP 2 A=1/N-1/(N+1) S=S+A IF S0.68 EXIT ENDIF ENDFOR ? N-2 SET TALK ON RETURN 运行结果:359、某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一翻。 SET TALK OFF CLEAR S=1 FOR N=2001 TO 2100 S=S*1.03 IF S=2 改正:IF S=2 LOOP 改正:EXIT ENDIF ENDFOR ? N SET TALK ON RETURN 运行结果:20249、设等比数列:1,2,4,8,。求使得此数列的前N项之和大于100

6、000的最小的自然数N。 SET TALK OFF CLEAR A=1 S=1 改正:S=0 FOR N=1 TO 100 S=S+A IF S100000 EXIT ENDIF A=2+A 改正:A=A*2 ENDFOR ? N SET TALK ON RETURN 运行结果:1710、设等比数列: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 改正:A=A*2 ENDFOR ? N 改正:? N-1 SE

7、T TALK ON RETURN 运行结果:2111、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。 SET TALK OFF CLEAR A=45678 N=0 FOR B=3 TO A STEP 2 IF MOD(B,A)=0 改正:IF MOD(A,B)=0 N=N+1 ENDIF ENDFOR ? B 改正:? N SET TALK ON RETURN 运行结果:712、求出20677和42067的最大公约数。 SET TALK OFF CLEAR A=20677 B=42067 FOR D=1 TO A IF MOD(A,D)=0 AND MOD(B,

8、D)=0 MAX=B 改正:MAX=D ENDIF ENDFOR ? D 改正:MAX SET TALK ON RETURN 运行结果:71313、求前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 改正:IF MOD(N,6)=0 OR MOD(N,8)=0 S=SQRT(S+N) 改正:S= S+SQRT(N) ENDIF ENDFOR ? ROUND(S,0) SET TALK ON RETURN 运行结果:1

9、6214、求所有符合算式AB*BA=2701的最小的两位数AB(即A*10+B)。其中A、B是19之间的一位整数。 SET TALK OFF CLEAR FOR X=11 TO 99 A=X/10 改正:A=INT(X/10) B=MOD(X,10) Y=10*A+B 改正:Y=10*B+A IF X*Y=2701 EXIT ENDIF ENDFOR ? X SET TALK ON RETURN 运行结果:3715、已知数列:1,2,4,7,11,16,,其规律是相邻两项之差依次是1,2,3,4,5,。试求出此数列中大于5000的最小的项。 SET TALK OFF CLEAR A=1 FOR

10、 N=0 TO 1000 A=A+N IF A5000 LOOP 改正:EXIT ENDIF ENDFOR ? N 改正:? A SET TALK ON RETURN 运行结果:505116、已知数列:1,2,4,7,11,16,,其规律是相邻两项之差依次是1,2,3,4,5,。试求出此数列中小于6000的最大的项。 SET TALK OFF CLEAR A=0 改正:A=1 FOR N=0 TO 1000 IF A+N6000 EXIT ENDIF A=A+N ENDFOR ? A SET TALK ON RETURN 运行结果:599617、已知数列F(N):F(1)=1,F(2)=4,当

11、N=3,4,5,时,F(N)=3*F(N-1)-F(N-2)。试求出100以内最小的自然数N使得此数列的第N项大于87654321。 SET TALK OFF CLEAR DIMENSION F(100) F(1)=1 F(2)=4 FOR N=3 TO 100 F(N)=3*F(N-1)-F(N-2) IF F(N)87654321 LOOP 改正:EXIT ENDIF ENDFOR ? N SET TALK ON RETURN 运行结果:2018、求出100以内最大的自然数N,使得从1开始的连续N个自然数的立方之和小于999999。 SET TALK OFF CLEAR S=0 FOR N

12、=1 TO 100 A=N*N*N S=S+A IF S999999 改正:IF S678 EXIT ENDIF ENDFOR? NSET TALK ONRETURN运行结果:1320、设有用26个字母表示的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 改正:FOR K=1 TO 25 LETT=1/LETT+K 改正:LETT=1/(LETT+K) IF LETT54321 N=N+1 ENDIF F1=F2 F2=F3 F3=F

13、1 改正:F3=FENDFOR? NSET TALK ONRETURN“运行结果:523、已知一个由分数组成的数列:1/2,3/5,8/13,21/34,其特点是:从其中第2个分数起,每个分数的分子都是前一分数的分子分母之和而其分母都是其分子与前一分数的分母之和。试求出此数列的前25项中其值大于0.618的项数。SET TALK OFFCLEARF1=1F2=2N=0FOR K=1 TO 25 F=F1/F2 IF F0.618 N=N+1 ENDIF F1=F2 改正:F1=F1+F2 F2=F1 改正:F2=F1+F2ENDFOR? NSET TALK ONRETURN运行结果:2024、

14、回文指的是正读和反读都一样的一串字符,如121、1221。试求出1421,4112内所有回文数的和。SET TALK OFFCLEARS=0FOR X=1421 TO 4112 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+X ENDIFENDFOR? SSET TALK ONRETURN运行结果:7425025、求出1234,6789内中间两位数字之和等于首尾两位数字之积的数的个数。SET TA

15、LK OFFCLEARN=0FOR X=1234 TO 6789 A=INT(X/1000) B=INT(X-A*1000)/100 改正:B=INT(X-A*1000)/100) C=INT(X-A*1000-B*100)/10 改正:C=INT(X-A*1000-B*100)/10) D=X-A*1000-B*100-C*10 IF B+C=A*D N=N+1 ENDIFENDFOR? NSET TALK ONRETURN运行结果:17526、将大于1000且能被4和6中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。SET TALK OFFCLEARS=0K=0X=10

16、00DO WHILE K=20 改正:DO WHILE K20 X=X+1 IF MOD(X,4*6)=0 改正:IF MOD(X,4)=0 OR MOD(X,6)=0 S=S+X K=K+1 ENDIFENDDO? SSET TALK ONRETURN运行结果:2061027、若一个自然数恰好等于某个整数的平方,则称此数为完全平方数。如144是完全平方数,因为它等于12的平方。求1000,9999内所有完全平方数的和。SET TALK OFFCLEARS=0FOR X=1000 TO 3000 Y=SQRT(X) 改正: Y=INT(SQRT(X) 或改下一语句为 IF X=INT(Y)*I

17、NT(Y) IF X=Y*Y S=S+X ENDIFENDFOR? 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) & 设X是M位数 IF MOD(Y,10*M)=X 改正:IF MOD(Y,10*M)=X S=S+X END

18、IFENDFOR? Y 改正:? SSET TALK ONRETURN运行结果:10111429、求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较大的一个数。(提示:设A0R=MOD(A,P)IF R=1N=1 改正:N=N+1ENDIFA=INT(A/P)ENDDO? NSET TALK ONRETURN运行结果:1332、4087求出将十进制整数98765432等值转换为二进制形式表示后其中数字0的个数。(提示:模拟人工计算的“2除取余”法)SET TALK OFFCLEARA=98765432P=2N=0DO WHILE A=0 改正:DO WHILE A0R=MOD(

19、A,P)IF R=0N=P+1 改正:N=N+1ENDIFA=INT(A/P)ENDDO? NSET TALK ONRETURN运行结果:1433、 求出将十进制整数99887766554等值转换为十六进制形式表示后其中字母C的个数。(提示:模拟人工计算的“16除取余”法)SET TALK OFFCLEARA=99887766554P=16N=0DO WHILE A=0R=MOD(A,P)IF R=11 改正:IF R=12N=N+R 改正:N=N+1ENDIFA=INT(A/P)ENDDO? NSET TALK ONRETURN运行结果:234、对自然数A、B、C,若ABC且A*A+B*B=

20、C*C,则称A,B,C为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股弦数组的个数。SET TALK OFFCLEARC=25000N=1 改正:N=0FOR A=1 TO CB=INT(SQRT(C*C-A*A)IF A*A+B*B=C*C 改正:IF A*A+B*B=C*C AND ABN=N+A 改正:N=N+1ENDIFENDFOR? NSET TALK ONRETURN运行结果:535、4094对自然数A、B、C,若ABC且A*A+B*B=C*C,则称A,B,C为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为1300的勾股弦组数。SET TAL

21、K OFFCLEARC=1300N=0FOR A=1 TO CB1=SQRT(C*C-A*A)B=INT(B1)IF B=B1 改正:IF B=B1 AND ABN=N+B 改正:N=N+1ENDIFENDFOR? NSET TALK ONRETURN运行结果:740、求方程3X-7Y=1在条件|X|100且|Y|40下的整数解的个数。SET TALK OFFCLEARN=0FOR X=-99 TO 99Y=INT(3*X-1)/7)IF 3*X-7*Y=1 OR ABS(Y)40 改正: IF 3*X-7*Y=1 AND ABS(Y)40N=N+X 改正:N=N+1ENDIFENDFOR?

22、NSET TALK ONRETURN运行结果:2641、求方程3X-7Y=1在条件|X|100且|Y|40下的所有整数解的|X|+|Y|的最大值。SET TALK OFFCLEARMAX=140 改正:MAX=0FOR X=-99 TO 99Y=INT(3*X-1)/7)Z=ABS(X+Y) 改正:Z=ABS(X)+ABS(Y)IF 3*X-7*Y=1 AND ABS(Y)Z 改正:IF 3*X-7*Y=1 AND ABS(Y)40 AND MAXZMAX=ZENDIFENDFOR? MAXSET TALK ONRETURN运行结果:12742、求1001000内的第10个素数。(素质是指只能

23、被1和本身整除的数)SET TALK OFFCLEAN=0K=0FOR I=100 TO 1000F=1FOR J=2 TO I 改正:FOR J=2 TO I-1IF MOD(I,J)=0F=0EXITENDIFENDFORIF F=1N=IK=K+I 改正:K=K+1IF K=10EXITENDIFENDIFENDFOR? NRETURN运行结果:14943、对自然数A、B、C,若ABC且A*A+B*B=C*C,则称A,B,C为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为2500的勾股数组中ABC的值最大为多少?。SET TALK OFFCLEARC=2500MAX=0FOR

24、 A=1 TO CB=INT(SQRT(C*2-A*2) 改正:B=INT(SQRT(C*2-A*2)IF A*A+B*B=C*C AND AA+B+C 改正:IF MAXX+Y 改正:IF MAXX+YMAX=X+YENDIFENDIFENDFORENDFOR? MAXSET TALK ONRETURN运行结果:4947、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求100,300之间能被其因子数目整除的数的个数。SET TALK OFFCLEAC=0FOR N=100 TO 300S=0FOR I=1 TO N -1 改正:FOR I=

25、1 TO NIF INT(I/10)=0 改正:IF INT(I/10)=I/10 或改为 IF MOD(I,10)=0S=S+1ENDIFENDFORIF MOD(N,S)=0C=C+1ENDIFENDFOR? CSET TALK ONRETURN运行结果:1948、分子分母为正整数,分子小于分母的分数称为真分数。对于分数的分子分母取值范围为 50,90 且分母能被3整除的真分数共有多少个.SET TALK OFFCLEAN=1 改正:N=0FOR A=50 TO 90FOR B=50 TO 90IF MOD(B,3)=0 改正:IF MOD(B,3)=0 AND ABN=N+1ENDIFE

26、NDFORENDFOR? NSET TALK ONRETURN运行结果:28749、分子分母为正整数,分子小于分母的分数称为真分数。对于分数的分子分母取值范围为 50,90 且分母能被3整除、分子能被5整除的真分数共有多少个.SET TALK OFFCLEAN=1 改正:N=0FOR A=50 TO 89FOR B=50 TO 90IF MOD(B,3)=0 改正:IF MOD(B,3)=0 AND MOD(A,5)=0 AND A0R=INT(A/B) 改正:R=MOD(A,B)B=R 改正:A=BA=B 改正:B=RENDDO? ASET TALK ONRETURN运行结果:7353、利用

27、分解质因数的方法求出18000中含有质因数的个数(相同的重复计数,例如,180中含有5个质因数:2、2、3、3、5)。SET TALK OFFCLEARX=18000N=0K=1 改正:K=2DO WHILE X1IF MOD(X,K)=0N=N+1X=INT(X/K)EXIT 改正:LOOPENDIFK=K+1ENDDO? NSET TALK ONRETURN运行结果:354、分子分母为正整数,分子小于分母且分子分母无公因数的分数称为最简真分数。对于分数的分母取值范围为 50,90 时的最简真分数共有多少个.SET TALK OFFCLEAN=0FOR A=2 TO 89 &分子FOR B=

28、50 TO 90&分母IF AB 改正:IF ABGYZ=1 &公因子FOR X=2 TO AIF MOD(A,X)=0 改正:IF MOD(A,X)=0 AND MOD(B,X)=0GYZ=XEXITENDIFENDFORIF GYZ=1N=N+1ENDIFENDIFENDFORENDFOR? NSET TALK ONRETURN运行结果:168555、若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是四位双平方数。例如: 由于7396=862,且7+3+9+6=25=52,则称7396是四位双平方数。求所有四位双平方数中最小的一个四位双平方数。SET TALK OFFCLEAMIN=10000

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服