vf程序设计复习题.docx
- 文档编号:27264801
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:16
- 大小:17.88KB
vf程序设计复习题.docx
《vf程序设计复习题.docx》由会员分享,可在线阅读,更多相关《vf程序设计复习题.docx(16页珍藏版)》请在冰豆网上搜索。
vf程序设计复习题
一、余数类
1、求1到2000之间的不能被3或5或7整除的整数之和;
CLEAR
S=0&&求和的变量
FORI=1TO2000
IFMOD(I,3)<>0ORMOD(I,5)<>0ORMOD(I,7)<>0
S=S+I
ENDIF
ENDFOR
?
S
RETURN
2、统计[1000,4000]内所有既能被7整除,且至少有一位数字是6的数的个数;
CLEAR
N=0&&计数变量
FORI=1000TO4000
A=I%10&&个位数字
B=INT(I/10)%10&&十位数字
C=INT(I/100)%10&&百位数字
IFI%7=0AND(A=6ORB=6ORC=6)
N=N+1
ENDIF
ENDFOR
?
N
RETURN
3、求连续N个不是7的倍数的自然数之和,当和是101的倍数时显示最后的自然数。
CLEAR
S=0
FORN=1TO10000000
IFS<>0ANDS%101=0
EXIT
ENDIF
IFN%7<>0
S=S+N
ENDIF
ENDFOR
?
”最后的自然数是:
”,N-1
RETURN
4、一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。
又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。
编写程序求这个自然数。
CLEAR
FORI=1TO10000000000
A=INT(INT(INT(I/8)/8)/8)
B=INT(INT(I/17)/17)
IFI%8=1ANDINT(I/8)%8=1ANDINT(INT(I/8)/8)%8=7ANDI%17=4ANDINT(I/17)%17=15ANDB=2*A
?
I
EXIT
ENDIF
ENDFOR
RETURN
二、数列类
1、设s=1+1/2+1/3+…+1/n,n为正整数。
编程求使S刚好超过6时的n;
CLEAR
N=0
S=0
DOWHILE.T.
IFS>6
EXIT
ENDIF
N=N+1
S=S+1/N
ENDDO
?
”所求N是:
”,N
RETURN
2、已知s=1-1/2+1/3-1/4+1/5-1/6+…-1/100,求S的值;
CLEAR
S=0
FORN=1TO100
S=S+(1/N)*(-1)^(N-1)
ENDFOR
?
S
RETURN
3、已知一个数列的前2项为0,1,后面各项均为前2项之和,求第40项。
CLEAR
DIMESIONA(40)
A
(1)=0
A
(2)=1
FORN=3TO40
A(N)=A(N-1)+A(N-2)
ENDFOR
?
A(40)
RETURN
4、编程求S=3^1+3^2+3^3+…+3^20
CLEAR
S=0
FORN=1TO20
S=S+3^N
ENDFOR
?
S
RETURN
5、已知S1=1,S2=1+2,S3=1+2+3,Sn=1+2+3+…+n,S=S1+S2+…Sn
写程序求当n=10时S的值
CLEAR
S=0
FORN=1to10
sub=0
FORI=1toN
SUB=SUB+I
ENDFOR
S=S+SUB
ENDFOR
?
S
RETURN
6、求s=2+(2+4)+(2+4+6)+(2+4+6+8)+…,求直到s>=60000为止
CLEAR
S=0
FORN=1TO10000000
IFS>=60000
EXIT
ENDIF
SUB=0
FORI=2TO2*NSTEP2
SUB=SUB+I
ENDFOR
S=S+SUB
ENDFOR
?
S
RETURN
7、编写程序,求1~55的平方根的和并输出结果(按四舍五入的方式保留小数点后面第两位)
CLEAR
S=0
FORI=1TO55
S=S+SQRT(I)
ENDFOR
S=ROUND(S,2)
?
S
RETURN
三、阶乘类
1、编程求s=1!
+2!
+3!
+…+9!
CLEAR
S=0
FORN=1TO9
SUB=1
FORI=1TON
SUB=SUB*I
ENDFOR
S=S+SUB
ENDFOR
?
S
RETURN
2、求s=3!
+5!
+7!
+…N!
,直到s>=28000为止,并求最大的N。
CLEAR
S=0
FORN=3TO1000000STEP2
IFS>=28000
EXIT
ENDIF
SUB=1
FORI=1TON
SUB=SUB*I
ENDFOR
S=S+SUB
ENDFOR
?
”和=”,S
?
”最大的N=”,N-2
RETURN
3、求这样一个三位数,该三位数等于其每位数字的阶乘之和。
即:
abc=a!
+b!
+c!
CLEAR
FORA=1TO9
FORB=0TO9
FORC=0TO9
M=A*100+B*10+C
S1=1
FORI=1TOA
S1=S1*I
ENDFOR
S2=1
FORI=1TOB
S2=S2*I
ENDFOR
S3=1
FORI=1TOC
S3=S3*I
ENDFOR
IFM=S1+S2+S3
?
M
ENDIF
ENDFOR
ENDFOR
ENDFOR
RETURN
四、应用题类
1、设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?
CLEAR
S=45600
N=0
DOWHILES<45600*2
S=S+S*0.08
N=N+1
ENDDO
?
N
RETURN
2、5元、2元和1元兑换100元的方法有多少种;
CLEAR
N=0
FORWUYUAN=0TO20
FORLIANGYUAN=0TO50
FORYIYUAN=0TO100
IF5*WUYUAN+2*LIANGYUAN+YIYUAN=100
N=N+1
ENDIF
ENDFOR
ENDFOR
ENDFOR
?
N
RETURN
3、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?
CLEAR
N=0
FORX=1TO30
FORY=1TO30
FORZ=1TO30
IFX+Y+Z=30AND3*X+2*Y+Z=50
N=N+1
ENDIF
ENDFOR
ENDFOR
ENDFOR
?
”解为:
”,N
五、特殊类
(1)回文数
1、设N是一个四位数,它的9倍恰好是其反序数(例如:
1234的反序数是4321),求N的值。
CLEAR
FORN=1000TO9999
A=N%10
B=INT(N/10)%10
C=INT(N/100)%10
D=INT(N/1000)
M=A*1000+B*100+C*10+D
IF9*N=M
?
N
ENDIF
ENDFOR
RETURN
2、编写程序,求三位数中所有回文数之和。
所谓回文数,就是对正整数N从左到右读与从右到左读其结果值相同的数。
如"101"。
CLEAR
S=0
FORN=100TO999
A=N%10
C=INT(N/100)
IFA=C
S=S+N
ENDIF
ENDFOR
?
S
RETURN
(2)素数
3、编程求出10-1000以内按从小到大顺序排在第10位的回文素数。
所谓回文素数,就是对正整数N从左到右读与从右到左读其结果值相同且都为素数。
如"101"。
CLEAR
I=0
FORN=11TO1000
FLAG=.T.
FORM=2TO(N-1)
IFN%M=0
FLAG=.F.
ENDIF
ENDFOR
IFFLAG=.T.ANDLEFT(LTRIM(STR(N)),1)=RIGHT(LTRIM(STR(N)),1)
I=I+1
IFI=10
?
N
ENDIF
ENDIF
ENDFOR
RETURN
4、求[3,100]内的素数的个数。
素数为除了能被1和本身整除之外,不能被其它数整除的数。
CLEAR
I=0
FORN=3TO100
FLAG=.T.
FORM=2TO(N-1)
IFN%M=0
FLAG=.F.
ENDIF
ENDFOR
IFFLAG=.T.
I=I+1
ENDFOR
?
”个数为:
”,I
RETURN
(3)水仙花数
5、水仙花数是一个三位正整数,它等于它的各位数字的立方之和。
例如:
153=1^3+5^3+3^3,所以153是水仙花数试求所有的水仙花数之积。
CLEAR
S=1
FORN=100TO999
A=N%10
B=INT(N/10)%10
C=INT(N/100)
IFN=A^3+B^3+C^3
S=S*N
ENDIF
ENDFOR
?
S
RETURN
(4)完数
6、数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:
6=1+2+3,则6就是一个完数。
求出1000以内的所有的完数之和及个数。
CLEAR
S=0&&S中存放完数之和
N=0&&N中存放完数的个数
FORI=1TO1000
S1=0&&S1中存放I的因子之和
FORK=1TOI/2
IFI%K=0&&判断K是否为I的因子
S1=S1+K
ENDIF
ENDFOR
IFS1=I
S=S+I
N=N+1
ENDIF
ENDFOR
?
"S=",S,"N=",N
RETURN
(5)自守数
7、编程求出10-10000以内按从小到大顺序排在第5位的自守数。
所谓自守数,就是该数平方后的尾数等于该数自身的自然数。
如25*25=625,76*76=5776。
CLEAR
I=0
FORN=1TO10000
X=LEN(LTRIM(STR(N)))
IFRIGHT(STR(N^2),X)=LTRIM(STR(N))
I=I+1
IFI=5
?
N
ENDIF
ENDIF
ENDFOR
RETURN
(6)其它
8、编写程序,求共有几组I,J,K符合IJK+KJI=1333,其中I,J,K是0~9之间的一位整数
CLEAR
N=0
FORI=0TO9
FORJ=0TO9
FORK=0TO9
Q=I*100+J*10+K
W=K*100+J*10+I
IFQ+W=1333
N=N+1
ENDIF
ENDFOR
ENDFOR
ENDFOR
?
”所求组数为=”,N/2
RETURN
9、已知a>b>c,且a+b+c<100,求满足条件_1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。
CLEAR
N=0
FORA=1TO100
FORB=1TO100
FORC=1TO100
IFA>BANDB>CANDA+B+C<100AND1/(A^2)+1/(B^2)=1(C^2)
N=N+1
ENDIF
ENDFOR
ENDFOR
ENDFOR
?
N
RETURN
10、设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:
9512,9+1=5*2,试问所有这样的四位数之和是多少?
CLEAR
S=0
FORN=1000TO9999
GEWEI=N%10
SHIWEI=INT(N/10)%10
BAIWEI=INT(N/100)%10
QIANWEI=INT(N/1000)
IFQIANWEI+SHIWEI=BAIWEI*GEWEI
S=S+N
ENDIF
ENDFOR
?
S
RETURN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vf 程序设计 复习题