VFP程序题(已改)(4)

2019-08-31 14:02

程序改错和填空题选

CLEA S=0

FOR I=10 TO 99

J=MOD(I,10) 改正:J=MOD(I,10)*10+INT(I/10) F1=1

FOR K=2 TO I 改正: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=1 改正:IF F1=1 AND F2=1 S=S+I ENDIF ENDFOR ? S RETURN

\运行结果:429\

59、设某四位数的各位数字的平方和等于100,问共有多少个这种四位数? SET TALK OFF CLEA N=0

FOR X=1000 TO 9999 A=INT(X/1000)

B=INT((X-A*1000)/100)

C=____________ INT((I-A*1000-B*100)/10) D=MOD(X,10)

IF ____________ N=N+1 ENDIF ENDFOR ? N

SET TALK ON RETURN

运行结果:49

60、设某四位数的各位数字的立方和等于100,问满足这种条件的四位数且是素数的数共有多少个? SET TALK OFF CLEA N=0

FOR X=1000 TO 9999 F=1

FOR I=2 TO INT(SQRT(X))

IF _________ MOD(X,I)=0 F=0 EXIT ENDIF ENDFOR IF F=1

A=INT(X/1000)

B=INT((X-A*1000)/100) C=INT(MOD(X,100)/10) D=MOD(X,10)

IF _____________ A**3+B**3+C**3+D**3=100 N=N+1 ENDIF ENDIF

16

程序改错和填空题选

ENDFOR ? N

SET TALK ON RETURN

\运行结果:4\

61、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后硬币总数为50枚的兑换方案有多少种?

SET TALK OFF CLEA

________ N=1 FOR YI=1 TO 100 FOR ER=1 TO 50 FOR WU=1 TO 20

IF _________AND ___________=50 YI+ER*2+WU*5=100 YI+ER+WU N=_____ N+1 ENDIF ENDFOR ENDFOR ENDFOR ? N

SET TALK ON RETURN

运行结果:12

62、 把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后硬币总数最多的与硬币总数最少的枚数之差是多少? SET TALK OFF CLEA

MIN1=10000 MAX1=0

FOR YI=1 TO 100 FOR ER=1 TO 50 FOR WU=1 TO 20

IF _______=100 YI+ER*2+WU*5=100 T=_______ YI+ER+WU IF T>MAX1

______ MAX1=T ENDIF IF MIN1>T MIN1=T ENDIF ENDIF ENDFOR ENDFOR ENDFOR

? MAX1-MIN1 SET TALK ON RETURN

运行结果:73

63、找满足以下条件: X^2+Y^2+Z^2=41^2 且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 ___________ X^2+Y^2+Z^2=41^2 IF _________ MAX

17

程序改错和填空题选

ENDFOR ENDFOR

? _______ MAX SET TALK ON RETURN

\运行结果:71\

64、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数中最大的数。 SET TALK OFF CLEA MAX=0

FOR N=100 TO 300 ____ S=0 FOR I=1 TO N

IF _________ MOD(N,I)=0 S=S+1 ENDIF ENDFOR

IF MOD(N,S)=0

________ MAX=N ENDIF ENDFOR ? MAX

SET TALK ON RETURN

\运行结果:296\

65、分子分母为正整数,分子小于分母且分子分母无公因数的分数称为最简真分数。对于分数的分子分母取值范围为 [50,90] 时的最简真分数共有多少个. SET TALK OFF CLEA

N=_____ 0 FOR A=50 TO 89 FOR B=A+1 TO 90 YZ=1

FOR X=2 TO A-1

IF ___________ MOD(A,X)=0 AND MOD(B,X)=0 YZ=X ENDIF ENDFOR

IF ______ YZ=1 N=N+1 ENDIF ENDFOR ENDFOR ? N

SET TALK ON RETURN

\运行结果:498\

66、编程求取:[121,200] 之间的弦数的个数(若某正整数的平方等于另两个正整数平方之和,则称该数为弦数. 例如:3^2+4^2=5^2, 因此5是弦数)。 SET TALK OFF CLEA N=0

FOR A=121 TO 200 FOR X=1 TO A-1

T=___________ A**2-X**2 IF INT(SQRT(T))*INT(SQRT(T))=T N=N+1

______ EXIT ENDIF ENDFOR

18

程序改错和填空题选

ENDFOR ? N

SET TALK ON RETURN

\运行结果:40\

67、勾股弦数是满足公式: A^2+B^2=C^2 (假定A

FOR A=1 TO 25 FOR B=1 TO 25 FOR C=1 TO 100

IF A

68、编写程序,求所有符合算式IJ*JI=1300的最大数IJ(即I*10+J)。其中I、J是1~9之间的一位整数。 SET TALK OFF CLEA

________ MAX=10 FOR I=1 TO 9 FOR J=1 TO 9

IF _______=1300 (I*10+J)*(J*10+I) IF ___________ MAX<10*I+J MAX=10*I+J ENDIF

ENDIF ENDFOR ENDFOR ? MAX RETURN

\运行结果:52\

69、若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是\四位双平方数\。例如: 由于7396=86^2,且7+3+9+6=25=5^2,则称7396是\四位双平方数\。求所有\四位双平方数\中最小的一个\四位双平方数\。 SET TALK OFF CLEA

MIN=10000

FOR I=1000 TO 9999 A=INT(I/1000)

B=INT((I-A*1000)/100)

C=____________ INT((I-A*1000-B*100)/10) D=MOD(I,10) X=A+B+C+D

IF INT(SQRT(I))*INT(SQRT(I))=I AND ____________ INT(SQRT(X))*INT(SQRT(X))=X IF MIN>I

________ MIN=I ENDIF ENDIF ENDFOR ? MIN

SET TALK ON RETURN

19

程序改错和填空题选

运行结果:1521

70、50个小学生按1至50序号顺时针围成一圈,做出局游戏,老师站在圈外顺时针从第一个人数起,每数到3时,这人从圈里出来,继续数1,2,3数到第3个学生时,他就出局,已出局的位置不再参加计数,直至所有的学生出局为止,问最后一个出局的学生序号是多少号。 SET TALK OFF CLEA

DIME A(50) FOR I=1 TO 50

A(I)=I &&0表示出队 ENDFOR K=0

FOR I=1 TO 50 P=1

DO WHILE P<=3 K=K+1

IF _________ ( K>50 ) K=1 ENDIF

IF _______ ( A[K]<>0 ) P=P+1 ENDIF ENDDO A[K]=0 ENDFOR ? K

SET TALK OFF RETURN

运行结果:11

71、水仙花数\是指这样的数,其各位数字的立方和等于该数本身,如:153=1^3+5^3+3^3。编写程序,计算从100年开始到2000年为止,共有多少个年号是水仙花数年号。 SET TALK OFF CLEA N=0

FOR I=100 TO 2000 A=INT(I/1000)

B=INT((I-A*1000)/100)

C=________ INT((I-A*1000-B*100)/10) D=MOD(I,10)

IF _______________ I=A**3+B**3+C**3 N=N+1 ENDIF ENDFOR ? N RETURN \

72、一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求所有两位绝对素数的个数。 SET TALK OFF CLEA S=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

20


VFP程序题(已改)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: