VFP编程题参考(2).doc

上传人:sk****8 文档编号:3150339 上传时间:2019-05-23 格式:DOC 页数:14 大小:125KB
下载 相关 举报
VFP编程题参考(2).doc_第1页
第1页 / 共14页
VFP编程题参考(2).doc_第2页
第2页 / 共14页
VFP编程题参考(2).doc_第3页
第3页 / 共14页
VFP编程题参考(2).doc_第4页
第4页 / 共14页
VFP编程题参考(2).doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、Visual FoxPro 编程题参考题解1.编程序求出 1-200以内的能被 7整除的数的平方和。377986s=0for I=1 to 200if mod(I,7)0Exitendifendfor?A5.编程序求出 1100所有整数的平方和并输出结果。338350s=0for n=1 to 100s=s+n*endfor?n6.编写程序,求在四位数的奇数中,所有各位数字之和是 25的倍数的数的和。1298515s=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

2、(n,10)w=a+b+c+dif mod(w,25)=0s=s+nendifendfor?s33.编写程序,求满足下列条件的所有四位数 ABCD的个数,该四位数是 8的倍数,且 A+B=B+C,即第 1位数加上第 2位数等于第 2位数加上第 3位数。1107.编写程序,求在四位数的偶数中,所有各位数字之和是 30的倍数的数的和。288840s=0for n=1000 to 9998 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+dif mod(w,30)=0s=s+nend

3、ifendfor?s8.编程序求出 1到 5000之间的能被 5整除的前若干个偶数之和,当和大于 500 时程序退出。550s=0for n=1 to 5000 if mod(n,5)=0 .and.mod(n,2)=0s=s+nendifif s500exitendifendfor?s9.已知 abc,且 a+b+c=100 ExitEndif If 1/(a2)+1/(b2)=1/(c2)N=N+1 EndifEndfor EndforEndfor?Nset talk on10.编程序求在 3000以内被 17或者 23整除的正整数数的个数。299set talk offclearn=0f

4、or 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 s=ia=a+iendifendfor?a86.一个数如果恰好等于它的所有真因子之和,这个数就称为“完数” 。例如, 6的真因子为 1,2,3,而 6=1+2+3,因此,6 是“

5、完数” 。求1,1000之间的最大完数。49612.已知一个数列的前 3个数为 0,0,1,以后每个数为前 3个数的和,编程序求此数列的第 36个数。334745777a1=0a2=0a3=1n=4do while na+bn=n+1endifendfor?n29.程序,计算在 0至 99的范围内有多少个数,其每位数的乘积小于等于每位数的和。3714.程序,计算在 0至 50的范围内有多少个数,其每位数的乘积小于每位数的和.26程序与 13题类似127.统计100,10000之间有多少个这样的整数,其各位数字之和能被 7整除。140815.用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总

6、数为 50枚,问共有多少种换法?(注:在兑换中一分、两分或五分的硬币数可以为 0枚).13n=0for i=0 to 50for j=0 to 50for k=0 to 20if i+2*j+5*k=100 .and.i+j+k=50n=n+1endifendforendfor endfor ?n16.把 18元钱分成一元、二元和五元的纸币且纸币数共为 10张的分法有多少种?(注:在兑换中一元、二元、五元的纸币数可以为 0) 。3程序与 13题类似17.编写程序,求四位数的奇数中,所有各位数字之积(且不为 0)是 125的倍数的数的和。161095s=0for n=1001 to 9999 s

7、tep 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*dif mod(w,125)=0 .and.wC,求 A,B,C小于或等于 100的倒勾股数有多少组?.5n=0for c=1 to 100for b=c to 100for a=b to 100if (b*b*c*c+a*a*c*c-b*b*a*a=0).and.ab.and.bc?a,b,cn=n+1endifendforendforendfor?n85.A,B,C三个正整数,当满足 1/A2+1/B2=1/C2关系时,称为倒勾

8、股数。求 1300.001if y0x2=xelsex1=xendifx=(x1+x2)/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(

9、2)+F(50)值。提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。32951280098f1=1f2=1s=f1+f2for i=3 to 50fn=f1+f2s=s+fnt=fnf1=f2f2=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

10、/a2t=a1a1=a1+a2a2=tendfor?round(S,2)set talk on50.自然数对是指两个自然数的和与差都是平方数,如 8和 17的和 8+17=25与其差 17-8=9都是平方数,则称 8和 17是自然数对(8,17) 。假定(A,B)与(B,A)是同一个自然数对且假定 A=B,求所有小于或等于 100(即:Ais=s+iendifendforendfor?s52.设某国今年的国民生产总值为 45600亿元,若今后每年以 8%的增长率增长,计算多少年后能实现国民生产总值翻两番? .19n=0s=45600do while s0.and.b1n=n+1?iendife

11、ndif endifendfor?n62.已知: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)中的最大值.598325f0=1f1=1f2=0max1=0for I=3 to 50fn=f2-2*f1+f0f0=f1f1=f2f

12、2=fnif max12) 称为 e数列,每一个 e(n),(n=1,2,)称为 e数。求1,30000之内最大的 e数。1668777.斐波那契数列的前二项是 1,1,其后每一项都是前面两项之和,求:10000000 以内最大的斐波那契数?.9227465118.已知 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)。-75087463.梅森尼数是指能使 2n-1为素数的数 n,求1,21范围内有多少个梅森尼数?.7n=0for I=2 to 21flag=1for j=2 to sqrt(2I-1)if m

13、od(2I-1),j)=0flag=0exitendifendforif flag=1n=n+1endifendfor?n65.某些分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子个位数和分母十位数同时去掉,所得结果正好等于原分数约分后的结果,例如 16/64=1/4,求满足上述条件的所有真分数个数。48n=0for I=11 to 99for j=I+1 to 99a=int(I/10)b=mod(j,10)if i/j=a/b.and.b0n=n+1endifendforendfor?n66.若两个自然连续数乘积减 1后是素数,则称此两个自然连续数为友数对,该素数称为友素数

14、,例:2*3-1=5,因此 2与 3是友数对,5 是友素数,求40,119之间友素数对的数目。30n=0for I=40 to 119k=I*(I+1)-1flag=1for j=2 to sqrt(k)if mod(k,j)=0flag=0exitendifendforif flag=1n=n+1endifendfor?n67.找满足以下条件: X2+Y2+Z2=412 且 X+Y+Z之值最大的三个正整数 X,Y,Z, 求 X+Y+Z之值.71n=0max1=1for i=1 to 41 for j=1 to 41 for k=1 to 41 if (i*i+j*j+k*k=41*41)n=

15、i+j+kif max1=5exitendifendfor?s72 问100,200之间有奇数个不同因子的整数共有多少个?.5k=0for I=100 to 200n=0for j=1 to Iif mod(I,j)=0n=n+1endifendforif mod(n,2)=1k=k+1endifendfor?k76.若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数” 。例如: 由于 7396=862,且 7+3+9+6=25=52,则称 7396是“四位双平方数” 。求所有“四位双平方数”的个数。17n=0for i=1000 to 9999a=int(i/1000)b=int(i-a*1000)/100)c=int(i-a*1000-b*100)/10)d=mod(i,10)

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

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。