VFP程序设计题选.docx
- 文档编号:10713613
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:67
- 大小:28.61KB
VFP程序设计题选.docx
《VFP程序设计题选.docx》由会员分享,可在线阅读,更多相关《VFP程序设计题选.docx(67页珍藏版)》请在冰豆网上搜索。
VFP程序设计题选
程序设计题选
1、求100以内最大的自然数N,使得从1开始的连续N个自然数的倒数之和小于3.5。
SETTALKOFF
CLEAR
S=0
FORN=1TO100
S=(S+1)/N
IFS>=3.5
LOOP
ENDIF
ENDFOR
?
N-1
SETTALKON
RETURN
"运行结果:
18"
2、求100以内最小的自然数N,使得从1开始的连续N个自然数的倒数之和大于3.6。
SETTALKOFF
CLEAR
S=0
FORN=1TO100
S=S+1/N
IFS<=3.6
LOOP
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
21"
3、求50以内最大的自然数N,使得从102开始的连续N个偶数之和小于3000。
SETTALKOFF
CLEAR
S=0
FORN=1TO50
A=100+2*N
S=S*A
IFS>=3000
LOOP
ENDIF
ENDFOR
?
N-1
SETTALKON
RETURN
"运行结果:
23"
4、求50以内最小的自然数N,使得从102开始的连续N个偶数之和大于2000。
SETTALKOFF
CLEAR
S=0
FORN=1TO50
A=102+2*N
S=S+A
IFS>2000
LOOP
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
17"
5、求出100以内使得算式1*2+2*3+…+N*(N+1)的值小于5000的最大的自然数N。
SETTALKOFF
CLEAR
S=0
FORN=1TO100
A=N*(N+1)
S=S+A
IFS<5000
EXIT
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
23"
6、求出100以内使得算式1*2+2*3+…+N*(N+1)的值大于6000的最小的自然数N。
SETTALKOFF
CLEAR
S=0
FORN=1TO100
A=N*(N+1)
S=S+A
IFS<=6000
LOOP
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
26"
7、求出100以内使得算式1+(1+2)+…+(1+2+…+N)的值小于1000的最大的自然数N。
SETTALKOFF
CLEAR
S=0
T=0
FORN=1TO100
S=S+N
T=T+S
IFT<1000
EXIT
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
17"
8、求出100以内最大的奇数N使得算式(1-1/2)+(1/3-1/4)+…+(1/N-1/(N+1))的值小于0.68。
SETTALKOFF
CLEAR
S=0
FORN=1TO100STEP2
A=1/N-1/(N+1)
S=S+A
IFS<0.68
EXIT
ENDIF
ENDFOR
?
N-2
SETTALKON
RETURN
"运行结果:
35"
9、某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年该国人口总数才会翻一翻。
SETTALKOFF
CLEAR
S=1
FORN=2001TO2100
S=S*1.03
IFS=2
LOOP
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
2024"
9、设等比数列:
1,2,4,8,…。
求使得此数列的前N项之和大于100000的最小的自然数N。
SETTALKOFF
CLEAR
A=1
S=1
FORN=1TO100
S=S+A
IFS>100000
EXIT
ENDIF
A=2+A
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
17"
10、设等比数列:
1,2,4,8,…。
求使得此数列的前N项之和小于2345678的最大的自然数N。
SETTALKOFF
CLEAR
A=1
S=0
FORN=1TO100
S=S+A
IFS>=2345678
EXIT
ENDIF
A=2+A
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
21"
11、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。
SETTALKOFF
CLEAR
A=45678
N=0
FORB=3TOASTEP2
IFMOD(B,A)=0
N=N+1
ENDIF
ENDFOR
?
B
SETTALKON
RETURN
"运行结果:
7"
12、求出20677和42067的最大公约数。
SETTALKOFF
CLEAR
A=20677
B=42067
FORD=1TOA
IFMOD(A,D)=0ANDMOD(B,D)=0
MAX=B
ENDIF
ENDFOR
?
D
SETTALKON
RETURN
"运行结果:
713"
13、求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。
SETTALKOFF
CLEAR
S=0
FORN=1TO100
IFMOD(N,6)=0ANDMOD(N,8)=0
S=SQRT(S+N)
ENDIF
ENDFOR
?
ROUND(S,0)
SETTALKON
RETURN
"运行结果:
162"
14、求所有符合算式AB*BA=2701的最小的两位数AB(即A*10+B)。
其中A、B是1~9之间的一位整数。
SETTALKOFF
CLEAR
FORX=11TO99
A=X/10
B=MOD(X,10)
Y=10*A+B
IFX*Y=2701
EXIT
ENDIF
ENDFOR
?
X
SETTALKON
RETURN
"运行结果:
37"
15、已知数列:
1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。
试求出此数列中大于5000的最小的项。
SETTALKOFF
CLEAR
A=1
FORN=0TO1000
A=A+N
IFA>5000
LOOP
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
5051"
16、已知数列:
1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。
试求出此数列中小于6000的最大的项。
SETTALKOFF
CLEAR
A=0
FORN=0TO1000
IFA+N<6000
EXIT
ENDIF
A=A+N
ENDFOR
?
A
SETTALKON
RETURN
"运行结果:
5996"
17、已知数列{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。
SETTALKOFF
CLEAR
DIMENSIONF(100)
F
(1)=1
F
(2)=4
FORN=3TO100
F(N)=3*F(N-1)-F(N-2)
IFF(N)<=87654321
LOOP
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
20"
18、求出100以内最大的自然数N,使得从1开始的连续N个自然数的立方之和小于999999。
SETTALKOFF
CLEAR
S=0
FORN=1TO100
A=N*N*N
S=S+A
IFS<999999
EXIT
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
运行结果:
44
19、一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最小的自然数N,使得此球从开始下落至第N次着地时在垂直方向所经过的总路程超过678米。
SETTALKOFF
CLEAR
H=100
S=0
FORN=2TO100
H=H*3/4
S=S+H
IFS>678
EXIT
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
运行结果:
13
20、设有用26个字母表示的26个表达式:
A=1,B=1/(A+1),C=1/(B+2),…,Z=1/(Y+25)。
试求出这26个字母中其值小于0.1的字母个数。
SETTALKOFF
CLEAR
LETT=1
N=0
FORK=1TO26
LETT=1/LETT+K
IFLETT<0.1
N=N+1
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
运行结果:
16
21、求所有符合算式AB*BA=3627的最大的两位数AB(即A*10+B)。
其中A、B是1~9之间的一位整数。
SETTALKOFF
CLEAR
FORX=11TO99
A=INT(X/10)
B=MOD(X,10)
Y=A*10+B
IFX*Y=3627
EXIT
ENDIF
ENDFOR
?
X
SETTALKON
RETURN
“运行结果:
93"
22、设一个数列的前3项都是1,从第4项开始,每一项都是其前3项之和。
试求出此数列的前25项中大于54321的项数。
SETTALKOFF
CLEAR
STORE1TOF1,F2,F3
N=0
FORK=1TO25
F=F1+F2+F3
IFF>54321
N=N+1
ENDIF
F1=F2
F2=F3
F3=F1
ENDFOR
?
N
SETTALKON
RETURN
“运行结果:
5"
23、已知一个由分数组成的数列:
1/2,3/5,8/13,21/34,…,其特点是:
从其中第2个分数起,每个分数的分子都是前一分数的分子分母之和而其分母都是其分子与前一分数的分母之和。
试求出此数列的前25项中其值大于0.618的项数。
SETTALKOFF
CLEAR
F1=1
F2=2
N=0
FORK=1TO25
F=F1/F2
IFF>0.618
N=N+1
ENDIF
F1=F2
F2=F1
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
20"
24、回文指的是正读和反读都一样的一串字符,如121、1221。
试求出[1421,4112]内所有回文数的和。
SETTALKOFF
CLEAR
S=0
FORX=1421TO4112
A=X/1000
B=INT((X-A*1000)/100)
C=INT((X-A*1000-B*100)/10)
D=X-A*1000-B*100-C*10
IFA=DANDB=C
S=S*X
ENDIF
ENDFOR
?
S
SETTALKON
RETURN
"运行结果:
74250"
25、求出[1234,6789]内中间两位数字之和等于首尾两位数字之积的数的个数。
SETTALKOFF
CLEAR
N=0
FORX=1234TO6789
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
IFB+C=A*D
N=N+1
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
175"
26、将大于1000且能被4和6中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。
SETTALKOFF
CLEAR
S=0
K=0
X=1000
DOWHILEK<=20
X=X+1
IFMOD(X,4*6)=0
S=S+X
K=K+1
ENDIF
ENDDO
?
S
SETTALKON
RETURN
"运行结果:
20610"
27、若一个自然数恰好等于某个整数的平方,则称此数为完全平方数。
如144是完全平方数,因为它等于12的平方。
求[1000,9999]内所有完全平方数的和。
SETTALKOFF
CLEAR
S=0
FORX=1000TO3000
Y=SQRT(X)
IFX=Y*Y
S=S+X
ENDIF
ENDFOR
?
X
SETTALKON
RETURN
"运行结果:
43539"
28、若一个自然数恰好是它的平方的末后几位数,则称此数为自同构数。
如5和76都是自同构数,因为它们的平方分别是25和5776。
求[2,99999]内所有自同构数之和。
(提示:
若X是M位同构数,则X的平方除以10的M次方的余数就是X)
SETTALKOFF
CLEAR
S=0
FORX=2TO99999
Y=X*X
M=LEN(LTRIM(STR(X)))&&设X是M位数
IFMOD(Y,10*M)=X
S=S+X
ENDIF
ENDFOR
?
Y
SETTALKON
RETURN
运行结果:
101114
29、求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较大的一个数。
(提示:
设A<=B,当A越大时A+B越小)
SETTALKOFF
CLEAR
C=54321
K=INT(SQRT(C))
FORA=1TOK
B=INT(C)/A
IFA*B=C
MAX=A
ENDIF
ENDFOR
?
MAX
SETTALKON
RETURN
"运行结果:
953"
30、设A=123,B=541,求A/B的精确值中小数点后40位数字中数字1的个数。
(提示:
基于人工计算的思想)
SETTALKOFF
CLEAR
A=123
B=541
N=0
FORK=1TO40
A=A+0
Q=INT(A)/B
IFQ=1
N=N+1
ENDIF
A=MOD(A,B)
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
3"
31、求出将十进制整数98765432等值转换为二进制形式表示后其中数字1的个数。
(提示:
模拟人工计算的“2除取余”法)
SETTALKOFF
CLEAR
A=98765432
P=2
DOWHILEA>0
R=MOD(A,P)
IFR=1
N=1
ENDIF
A=INT(A/P)
ENDDO
?
N
SETTALKON
RETURN
运行结果:
13
32、4087求出将十进制整数98765432等值转换为二进制形式表示后其中数字0的个数。
(提示:
模拟人工计算的“2除取余”法)
SETTALKOFF
CLEAR
A=98765432
P=2
N=0
DOWHILEA=0
R=MOD(A,P)
IFR=0
N=P+1
ENDIF
A=INT(A/P)
ENDDO
?
N
SETTALKON
RETURN
运行结果:
14
33、求出将十进制整数99887766554等值转换为十六进制形式表示后其中字母C的个数。
(提示:
模拟人工计算的“16除取余”法)
SETTALKOFF
CLEAR
A=99887766554
P=16
N=0
DOWHILEA=0
R=MOD(A,P)
IFR=11
N=N+R
ENDIF
A=INT(A/P)
ENDDO
?
N
SETTALKON
RETURN
"运行结果:
2"
34、对自然数A、B、C,若A
试求出弦为25000的勾股弦数组的个数。
SETTALKOFF
CLEAR
C=25000
N=1
FORA=1TOC
B=INT(SQRT(C*C-A*A))
IFA*A+B*B=C*C
N=N+A
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
5"
35、4094对自然数A、B、C,若A
试求出弦为1300的勾股弦组数。
SETTALKOFF
CLEAR
C=1300
N=0
FORA=1TOC
B1=SQRT(C*C-A*A)
B=INT(B1)
IFB=B1
N=N+B
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
7"
40、求方程3X-7Y=1在条件|X|<100且|Y|<40下的整数解的个数。
SETTALKOFF
CLEAR
N=0
FORX=-99TO99
Y=INT((3*X-1)/7)
IF3*X-7*Y=1ORABS(Y)<40
N=N+X
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
26"
41、求方程3X-7Y=1在条件|X|<100且|Y|<40下的所有整数解的|X|+|Y|的最大值。
SETTALKOFF
CLEAR
MAX=140
FORX=-99TO99
Y=INT((3*X-1)/7)
Z=ABS(X+Y)
IF3*X-7*Y=1ANDABS(Y)<40ANDMAX>Z
MAX=Z
ENDIF
ENDFOR
?
MAX
SETTALKON
RETURN
运行结果:
127
42、求100-1000内的第10个素数。
(素质是指只能被1和本身整除的数)
SETTALKOFF
CLEA
N=0
K=0
FORI=100TO1000
F=1
FORJ=2TOI
IFMOD(I,J)=0
F=0
EXIT
ENDIF
ENDFOR
IFF=1
N=I
K=K+I
IFK=10
EXIT
ENDIF
ENDIF
ENDFOR
?
N
RETURN
运行结果:
149
43、对自然数A、B、C,若A
试求出弦为2500的勾股数组中A+B+C的值最大为多少?
。
SETTALKOFF
CLEAR
C=2500
MAX=0
FORA=1TOC
B=INT(SQRT(C*2-A*2))
IFA*A+B*B=C*CANDA
IFMAX>A+B+C
MAX=A+B+C
ENDIF
ENDIF
ENDFOR
?
MAX
SETTALKON
RETURN
"运行结果:
6000"
44、设某四位数的各位数字的立方和等于168,问满足这种条件的四位数且是奇数的数共有多少个?
SETTALKOFF
CLEA
N=0
FORX=1000TO9999
A=INT(X/1000)
B=INT((X-A*1000)/100)
C=INT(X/100)
D=MOD(X,10)
IFA*3+B*3+C*3=168ANDD=3
N=N+1
ENDIF
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
6"
45、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问有多少种方案?
SETTALKOFF
CLEA
N=0
FORYI=1TO100
FORER=1TO20
FORWU=1TO20
IFYI+ER+WU=100
N=N+YI
ENDIF
ENDFOR
ENDFOR
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
461"
46、找满足以下条件:
X^2+Y^2=41^2且X+Y之值最大的二个正整数X,Y,求X+Y之值.
SETTALKOFF
CLEA
MAX=1000
FORX=0TO41
FORY=0TO41
IFX*X+Y*Y=41*41
IFMAX>X+Y
MAX=X+Y
ENDIF
ENDIF
ENDFOR
ENDFOR
?
MAX
SETTALKON
RETURN
"运行结果:
49"
47、已知24有8个正整数因子(即:
1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。
求[100,300]之间能被其因子数目整除的数的个数。
SETTALKOFF
CLEA
C=0
FORN=100TO300
S=0
FORI=1TON-1
IFINT(I/10)=0
S=S+1
ENDIF
ENDFOR
IFMOD(N,S)=0
C=C+1
ENDIF
ENDFOR
?
C
SETTALKON
RETURN
"运行结果:
19"
48、分子分母为正整数,分子小于分母的分数称为真分数。
对于分数的分子分母取值范围为[50,90]且分母能被3整除的真分数共有多少个.
SETTALKOFF
CLEA
N=1
FORA=50TO90
FORB=50TO90
IFMOD(B,3)=0
N=N+1
ENDIF
ENDFOR
ENDFOR
?
N
SETTALKON
RETURN
"运行结果:
287"
49、分子分母为正整数,分子小于分母的分数称为真分数。
对于分数的分子分母取值范围为[50,90]且分母能被3整除、分子能被5整除的真分数共有多少个.
SETTALKOFF
CLEA
N=1
FORA=50TO89
FORB=50TO90
IFMOD(B,3)=0
N=N+1
ENDIF
ENDFOR
ENDFOR
?
N
SETTALKON
RETURN63
"运行结果:
63"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)