VFP编程题参考.doc

上传人:飞****2 文档编号:60092057 上传时间:2022-11-13 格式:DOC 页数:14 大小:66.50KB
返回 下载 相关 举报
VFP编程题参考.doc_第1页
第1页 / 共14页
VFP编程题参考.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《VFP编程题参考.doc》由会员分享,可在线阅读,更多相关《VFP编程题参考.doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Visual FoxPro编程题参考题解1.编程序求出1-200以内的能被7整除的数的平方和。s=0for I=1 to 200 if mod(I,7)0 loop endif s=s+I*Iendfor?”s=”,s2.编写程序,求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是 09之间的一位整数。6n=0for I=1 to 9 for j=0 to 9 for k=1 to 9 if (I*100+j*10+k)+(k*100+j*10+i)=1333 n=n+1 endif endfor endforendfor?n3.编程序求199的平方根的和并输出结果。(保留

2、小数点两位).661.46s=0for I=1 to 99s=s+sqrt(I)ednfor?round(s,2)4.编写程序,求所有符合算式ij*ji=1300的最小数ij(即i*10+j)。其中i、j是19之间的一位整数。25A=0for I=1 to 9 for J=1 to 9 if (I*10+J)*(J*10+I)=1300 A=I*10+J exit EndifEndforIf a0Exitendifendfor?A5.编程序求出1100所有整数的平方和并输出结果。s=0for n=1 to 100s=s+n*endfor?n6.编写程序,求在四位数的奇数中,所有各位数字之和是2

3、5的倍数的数的和。s=0for n=1001 to 9999 step 2a=int(n/1000)b=int(n-a*1000)/100)c=int(n-a*1000-b*100)/10)d=mod(n,10) w=a+b+c+d if mod(w,25)=0 s=s+n endifendfor?s33.编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。1107.编写程序,求在四位数的偶数中,所有各位数字之和是30的倍数的数的和。s=0for n=1000 to 9998 step 2a=int(n/10

4、00)b=int(n-a*1000)/100)c=int(n-a*1000-b*100)/10)d=mod(n,10) w=a+b+c+d if mod(w,30)=0 s=s+n endifendfor?s8.编程序求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500 时程序退出。550s=0for n=1 to 5000 if mod(n,5)=0 .and.mod(n,2)=0 s=s+n endif if s500 exit endifendfor?s9.已知abc,且a+b+c=100 Exit Endif If 1/(a2)+1/(b2)=1/(c2) N=N+1 E

5、ndif Endfor EndforEndfor?Nset talk on10.编程序求在3000以内被17或者23整除的正整数数的个数。299set talk offclearn=0for i=17 to 3000if mod(i,17)=0 .or. mod(i,23)=0n=n+1endifendfor?n11.一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。496a=0for i=200 to 500s=0for j=1 to i-1if mod(i,j)=0s=s+jendifendforif

6、s=ia=a+iendifendfor?a86.一个数如果恰好等于它的所有真因子之和,这个数就称为“完数”。例如, 6的真因子为1,2,3,而6=1+2+3,因此,6是“完数”。求1,1000之间的最大完数。49612.已知一个数列的前3个数为0,0,1,以后每个数为前3个数的和,编程序求此数列的第36个数。a1=0a2=0a3=1n=4do while na+bn=n+1endifendfor?n29.程序,计算在0至99的范围内有多少个数,其每位数的乘积小于等于每位数的和。3714.程序,计算在0至50的范围内有多少个数,其每位数的乘积小于每位数的和.26程序与13题类似127.统计100

7、,10000之间有多少个这样的整数,其各位数字之和能被7整除。140815.用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为50枚,问共有多少种换法?(注:在兑换中一分、两分或五分的硬币数可以为0枚).13n=0for i=0 to 50 for j=0 to 50 for k=0 to 20 if i+2*j+5*k=100 .and.i+j+k=50 n=n+1 endif endfor endfor endfor ?n16.把18元钱分成一元、二元和五元的纸币且纸币数共为10张的分法有多少种?(注:在兑换中一元、二元、五元的纸币数可以为0)。3程序与13题类似17.编写程序,求

8、四位数的奇数中,所有各位数字之积(且不为0)是125的倍数的数的和。s=0for n=1001 to 9999 step 2a=int(n/1000)b=int(n-a*1000)/100)c=int(n-a*1000-b*100)/10)d=mod(n,10) w=a*b*c*d if mod(w,125)=0 .and.w0 s=s+n endifendfor?s96.设某四位数的各位数字的平方和为100,且该数能被3整除。求共有多少个这样的四位数。.2364.有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求这种三位数共有多少个?

9、 .418.所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出100900之间的所有回文数的个数。80n=0for i=100 to 900 a=int(i/100)b=int(i-a*100)/10)c=mod(i,10) if a=c n=n+1 endifendfor?n25.所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,计算从1981年开始到3000年为止,共有多少个年号是回文数年号。1119.编程序求出100到200之间同时满足除3余2和除5余3条件的数的个数。6n=0for I=100 to 200 i

10、f mod(I,3)=2 .and. mod(I,5)=3n=n+1endifendfor?n20.百钱百鸡问题。用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只)。3n=0for i=1 to 100 for j=1 to 20 for k=1 to 34 if i/3+j*5+k*3=100 .and.i+j+k=100 n=n+1 endif endfor endfor endfor?n=,n38.有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少

11、种不同的解(去掉某类学生数为0的解)?.9101.马克思曾经做过这样一道趣味数学题:有30个人在一家小饭店里用餐,其中有男人、女人和小孩,每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,共花去50先令。如果要求男人、女人和小孩都有人参与,试求有多少种方案分配男人、女人和小孩的人数。975.把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,问有多少种方案?.8021编程序求出 2+4+8+16+32+这样的数之和。如果累加数大于500时,则程序终止并输出结果。510clears=0n=1do while s=500 s=s+2n n=n+1enddo?s=,s22.今有5羊4犬

12、3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,2羊3犬5鸡1兔值钱861,求鸡值多少钱?(鸡23.免29.羊177.犬121)clears=0flag=1for y=1 to 300 for q=1 to 400 for t=1 to 200 j=(1496-5*y-4*q-2*t)/3 if (4*y+2*q+6*j+3*t)=1175.and.(3*y+q+7*j+5*t)=958.and.(2*y+3*q+5*j+t)=861 flag=0 exit endif endfor if flag=0 exit endif endfor if flag=0 e

13、xit endifendfor ?j=,j23.编程序求出1100所有整数的立方和并输出结果。24.“水仙花数”是指这样的数,其各位数字的立方和等于该数本身,如: 153=13+53+33。编写程序求100至400的范围内有多少个水仙花数。326.所谓素数是指这样的自然数,除1和它本身外不再有其它因子。编写程序,计算从1981年开始到3000年为止,我们将遇到多少个素数年号。13127.编写程序,求出9到499之间的所有非偶数非素数的数之和。40965s=0n=0for I=9 to 499 step 2 for j=2 to sqrt(i)if mod(I,j)=0s=s+In=n+1exi

14、tendif endforendfor?”s=”,s?”n=”,n28.编写程序,求出3到100之间的所有非偶数非素数的数的个数。25同上103 求500,1999之间的素数的个数,且要求该素数十位数字为7。2242.求666,777范围内素数的个数。 .1646.求444,666范围内最大的素数是多少? .66130.编写程序,求在101000之间所有能被4除余3,被7除余5,被9除余2的数之和。1700s=0for I=10 to 1000 if mod(I,4)=3.and.mod(I,7)=5.and.mod(I,9)=2 s=s+I endifendfor?s44.求351,432之

15、间所有既不能被3整除,又不能被8整除的正整数的个数。 .4731.编写程序,计算1000以内有多少个这样的数,其个位数为6且该数能被9整除。11n=0for I=6 to 1000 if mod(I,10)=6.and.mod(I,9)=0 n=n+1 endifendfor?n51.求1,5000之间能同时被3和7整除的数的个数。 .23899.求1,1000之间能被3整除,且至少有一位上的数是5的所有数之和。46509set talk offclears=0for i=12 to 999 step 3 do case case i=99 a=int(i/10) b=mod(i,10) if

16、 a=5 .or.b=5 s=s+i endif case iBC,求A,B,C小于或等于100的倒勾股数有多少组?.5n=0for c=1 to 100 for b=c to 100 for a=b to 100 if (b*b*c*c+a*a*c*c-b*b*a*a=0).and.ab.and.bc ?a,b,c n=n+1 endif endfor endforendfor?n85.A,B,C三个正整数,当满足1/A2+1/B2=1/C2关系时,称为倒勾股数。求130A+B+C150的倒勾股数有多少组。141.已知A0.001ify0 x2=xelse x1=xendifx=(x1+x2

17、)/2y=x*x*x-2*x-5enddo?round(x,2)45.求方程X2-3*X+1=0在区间(0,1)内的解。要求:按四舍五入的方式精确到小数点后第二位。0.38韦达定理:d=b*b-4*a*c x1=(-b+sqrt(d)/(2*a), x2=(-b-sqrt(d)/(2*a)条件:d=047.已知Fibonacci数列:1,1,2,3,5,8,它可由下面公式表述:. F(1)=1 if n=1 F(2)=1 if n=2 F(n)=F(n-1)+F(n-2) if n2 试求F(1)+F(2)+F(50)值。 提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深

18、度。f1=1f2=1s=f1+f2for i=3 to 50 fn=f1+f2 s=s+fn t=fn f1=f2 f2=tendfor?sset talk on48.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13.(注:该数列从第二项开始,其分子是前一项的分子与分母的和,而其分母是前一项的分子),求出这个序列前24项的和。要求:按四舍五入的方式精确到小数点后第二位。39.13set talk offclears=0a1=2a2=1for I=1 to 24s=s+a1/a2t=a1a1=a1+a2a2=tendfor?round(S,2)set talk on50.自然

19、数对是指两个自然数的和与差都是平方数,如8和17的和8+17=25与其差17-8=9都是平方数,则称8和17是自然数对(8,17)。假定(A,B)与(B,A)是同一个自然数对且假定A=B,求所有小于或等于100(即:A=100,Bi s=s+i endif endforendfor?s52.设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番? .19n=0s=45600do while s4*45600 s=s+s*0.08 if s=45600*4 exit endif n=n+1enddo?s,n53.勾股弦数是满足公式: A2+B

20、2=C2 (假定ABC)的一组正整数(A,B,C),例如,(3,4,5)是勾股弦数,因为:32+42=52。求A,B均小于25且A+B+C=100的勾股弦数的个数。11n=0for a=1 to 25 for b=a+1 to 25 for c=b+1 to 100 if a*a+b*b=c*c.and.a+b+c=100 n=n+1 endif endfor endforendfor?n54.若某整数平方等于某两个正整数平方之和的正整数称为弦数。例如:由于32+42=52,则5为弦数,求100,200之间弦数的数目.55.set talk offclearn=0for I=100 to 20

21、0 for a=1 to I-1 flag=1 for b=a to I-1 if a*a+b*b=I*I n=n+1 flag=0 endif endfor if flag=0 exit endif endforendfor?nset talk on55.设有6个十进制数字a,b,c,d,f,e,求满足abcdfe=fdcba条件的五位数abcdf(a0,e0,e1)的个数。2n=0for i=10000 to 99999 a=int(i/10000) b=int(i-a*10000)/1000) c=int(i-a*10000-b*1000)/100) d=int(i-a*10000-b*

22、1000-c*100)/10) f=mod(i,10) for e=2 to 9 if (a*10000+b*1000+c*100+d*10+f)*e=f*10000+d*1000+c*100+b*10+a ?i ?e n=n+1 endif endforendfor?n61.设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的最大四位数abcd的值。199956.设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?.4957.求方程8x-5y=3,在|x|=150, |y|=200内的整数解。试问这样的整数

23、解中|x|+|y|的最大值是多少?.32358.若两素数之差为2 ,则称两素数为双胞胎数,问31,600之间有多少对双胞胎数。2159.若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。求1,500之间有多少个多因子完备数。560.一个素数(设为p)依次从最高位去掉一位,二位,三位,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试

24、求100,999之内的所有逆向超级素数的个数。39n=0for i=111 to 999 flag=1 for j=2 to sqrt(i) if mod(i,j)=0 flag=0 exit endif endfor if flag=0 loop endif if flag=1 a=int(i/100) b=int(i-a*100)/10) c=mod(i,10) w=b*10+c p=1 for k=2 to sqrt(w) if mod(w,k)=0 p=0 exit endif endfor if p=1 q=1 for l=2 to sqrt(c) if mod(c,l)=0 q=0

25、 exit endif endfor if q=1.and.c0.and.b0.and.c1 n=n+1 ?i endif endif endif endfor ?n 62.已知:f(1)=1,f(2)=1/(1+f(1),f(3)=1/(1+f(2),,f(n)=1/(1+f(n-1),求f(50)。(按四舍五入的方式精确到小数点后第三位)。0.618f1=1for i=2 to 50f1=1/(1+f1)endfor?round(f1,3)71.已知: f(0)=f(1)=1 f(2)=0 f(n)=f(n-1)-2f(n-2)+f(n-3), (n2) 求f(0)到f(50)中的最大值.

26、f0=1f1=1f2=0max1=0for I=3 to 50 fn=f2-2*f1+f0 f0=f1 f1=f2 f2=fn if max12) 称为e数列,每一个e(n),(n=1,2,)称为e数。 求1,30000之内最大的e数。1668777.斐波那契数列的前二项是1,1,其后每一项都是前面两项之和,求:以内最大的斐波那契数?.118.已知f(n)=f(n-1)+2f(n-2)-5f(n-3),f(0)=1,f(1)=2,f(2)=3,求f(0)+f(1)+f(30)。-63.梅森尼数是指能使2n-1为素数的数n,求1,21范围内有多少个梅森尼数?.7n=0for I=2 to 21

27、flag=1 for j=2 to sqrt(2I-1) if mod(2I-1),j)=0 flag=0 exit endif endfor if flag=1 n=n+1 endif endfor?n65.某些分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子个位数和分母十位数同时去掉,所得结果正好等于原分数约分后的结果,例如16/64=1/4,求满足上述条件的所有真分数个数。48n=0for I=11 to 99 for j=I+1 to 99 a=int(I/10) b=mod(j,10) if i/j=a/b.and.b0 n=n+1 endifendforendfor

28、?n66.若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求40,119之间友素数对的数目。30n=0for I=40 to 119 k=I*(I+1)-1 flag=1 for j=2 to sqrt(k) if mod(k,j)=0 flag=0 exit endifendforif flag=1 n=n+1endifendfor?n67.找满足以下条件: X2+Y2+Z2=412 且X+Y+Z之值最大的三个正整数X,Y,Z, 求X+Y+Z之值.71n=0max1=1 for i=1 to 41 for

29、j=1 to 41 for k=1 to 41 if (i*i+j*j+k*k=41*41) n=i+j+k if max1=5 exit endifendfor?s72 问100,200之间有奇数个不同因子的整数共有多少个?.5k=0for I=100 to 200 n=0 for j=1 to I if mod(I,j)=0 n=n+1 endif endfor if mod(n,2)=1 k=k+1 endif endfor?k76.若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于 7396=862,且7+3+9+6=25

30、=52,则称7396是“四位双平方数”。求所有“四位双平方数”的个数。17n=0for 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) f=a+b+c+d if int(sqrt(i)=sqrt(i).and.int(sqrt(f)=sqrt(f) n=n+1 endifendfor?nset talk on78.求200,300之间最小的一个有奇数个不同因子的整数。 .225set talk offfor I=200 to 300 n=0 for j=1 to I

31、if mod(I,j)=0 n=n+1 endif endfor if mod(n,2)=1 ?I exit endifendfor79.一个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。找出1到1000之间的所有“同构数”的个数。 7n=0for I=1 to 1000 a=len(alltrim(str(i) b=alltrim(str(I*I) c=right(b,a) if c=alltrim(str(i) n=n+1 endifendfor?n80.在200,900范围内同时满足以下两个条件的

32、十进制数: 其个位数字与十位数字之和除以10所得的余数是百位数字;该数是素数;问有多少个这样的数?.1481.求200,300之间第二大有奇数个不同因子的整数。256k=0for I=300 to 200 step -1 n=0 for j=1 to I if mod(I,j)=0 n=n+1 endif endfor if mod(n,2)=1 k=k+1 endif if k=2 ?iexitendifendforset talk on82 一个14*14方阵A(i,j),其每个元素的值为该元素下标的立方和,求出该矩阵所有元素的累加和(注:i,j从1到14).set talk offs=0dime a(14,14)for I=1to 14 for j=1 to 14 a(i,j)=i*i*i+j*j*j s=s+a(i,j) endforendfor?sset talk on84.若(x,y,z)满足方程:x2+y2+z2=552(注:要求 x y z),则(x,y,z)称为方程的一个解。试求方程的整数解(包括负整数解)的个数。62set talk offn=0for x=-55 to 55 for y=-55 to 55 for z=-55 to 55 if x*x+y*y+z*z=55*55.and.xy.and.yz n=n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com