VFP程序设_计题(_省二必备).doc_第1页
VFP程序设_计题(_省二必备).doc_第2页
VFP程序设_计题(_省二必备).doc_第3页
VFP程序设_计题(_省二必备).doc_第4页
VFP程序设_计题(_省二必备).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 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 改正:EXITENDIFENDFOR? 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 改正: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 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项之和大于100000的最小的自然数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 SET 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,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 运行结果:16214、求所有符合算式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 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,当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=1 TO 100 A=N*N*N S=S+A IF S999999 改正:IF S678 EXIT ENDIFENDFOR? 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=F1 改正: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、回文指的是正读和反读都一样的一串字符,如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 TALK 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=1000DO 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)*INT(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 ENDIFENDFOR? Y 改正:? SSET 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 K B=INT(C)/A 改正:B=I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论