




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上趣味Visual FoxPro 程序设计集锦5舍罕王的失算set talk offinput请输入n:to nt=1s=1for i=2 to nt=t*2s=s+tendforv=s/1.42e8h=(9/3.14159*v)(1/3)?总麦粒数约为:+str(s,10,3)+粒.?折合体积约为:+ltrim(str(v,15)+立方米?堆成正圆锥高约为:+str(h,5)+米return程序运行结果与说明请输入n:64总麦粒数约为:1.845e+019折合体积约为6立方米堆成正圆维高约为7193米5-1失算的另一名题:买马灯input请输入n: to nt=1s=
2、1for i=2 to nt=t*2s=s+tendfor?共需花费+ltrim(str(s,16)+个包卢斯卡.?合约+str(s/400,10,4)+卢卡.return程序运行结果与点评请输入n:24共需花费个外包卢斯卡合约41943.0375卢布6分数不等式?求n1+1/2+1/3+1/4+.+1/mn+1的正整数mset talk offset deci to 14input 请输入n:to ni=0s=0do while sni=i+1s=s+1/ienddoc=ido while sn+1i=i+1s=s+1/ienddod=i-1?满足不等式的m为:+ltrim(str(c,10
3、)+m+ltrim(str(d,10)return程序运行结果:求n1+1/2+1/3+1/4.+1/mn+1的正整数m请输入n:10满足不等式的m为:12367m33616请输入n:15满足不等式的m为:m7阶乘与阶乘和数set talk off?三位阶乘和数有:for m=100 to 999a=int(m/100)b=mod(int(m/10),10)c=mod(m,10)if m=jc(a)+jc(b)+jc(c)?mendifendforreturnfunc jcpara xp=1for i=1 to xp=p*iendforreturn p程序运行结果:三位阶乘和数有:145可见1
4、45是唯一的三位阶乘和数8综合高精度计算cleardime a(500)a=0? 1:计算阶乘n!? 2:计算乘方mn? 3:计算排列数A(n,m)input 选择(1-3): to zinput 请输入正整数n: to nif z#1input 请输入正整数m (m=n): to mendifd=500t=1if z=3t=n-m+1endifa(1)=1for i=t to nif z=2b=melseb=iendiff=0for j=1 to dx=a(j)*b+ff=int(x/10)a(j)=x%10endforendforj=ddo while a(j)=0j=j-1enddof=
5、jdo casecase z=1? str(n,8)+!=case z=2? str(m,6)+ltrim(str(n)+=case z=3? A(+ltrim(str(n)+,+ltrim(str(m)+)=endcased=0for j=f to 1 step -1d=d+1? str(a(j),1)if d%50=0?space(10)endifendfor? 所得结果共+ltrim(str(f)+位return运行程序,选择3,输入n=100,m=90,得A(100,90)=所得结果共152位。10最大公约数与最小公倍数set talk offinput 输入正整数a: to ainp
6、ut 输入整数b: to bst=ltrim(str(a,12)+,+ltrim(str(b,12)m=a*br=mod(a,b)do while r#0a=bb=rr=mod(a,b)enddo?(+st+)=+ltrim(str(b,15)?(+st+)=+ltrim(str(m/b)return运行程序,输入1104,1272得(1104,1272)=241104,1272=5851211水仙花数set talk offinput 输入正整数a: to ainput 输入整数b: to bst=ltrim(str(a,12)+,+ltrim(str(b,12)m=a*br=mod(a,b
7、)do while r#0a=bb=rr=mod(a,b)enddo?(+st+)=+ltrim(str(b,15)?(+st+)=+ltrim(str(m/b)return运行程序,得水仙花数:153 370 371 40712勾股数set talk offinput请输入区间下限值: to m1inpu 请输入区间上限值: to m2?区间+ltrim(str(m1)+,+ltrim(str(m2)+中的勾股数组有:n=0for a=2 to sqrt(m2)for b=1 to a-1if(a+b)%2=0b=b+1endift=0for k=2 to bif b%k=0 and a%k
8、=0t=1endifendforif t=0d=a*a-b*be=2*a*bf=a*a+b*bfor i=1 to m2/fx=i*dy=i*ez=i*fif xm1 or ym2loopendif?str(x)+str(y)+str(z)n=n+1endforendifendforendfor?共+ltrim(str(n)+组勾股数.return运行程序,求得10,30中的勾股数:区间(10,30)中的勾股数组有:12 16 2015 20 2518 24 3010 24 2621 20 2913完全数set talk offinput x= to xinput y= to y? 区间+lt
9、rim(str(x)+,+ltrim(str(y)+中的完全数:n=0for a=x to ys=1for k=2 to a/2if a%k=0s=s+kendifendforif s=an=n+1?str(n,3)+:+ltrim(str(a)+-1for k=2 to a/2if a/k=int(a/k)? +ltrim(str(k,5)endifendforendifendforreturn运行程序,输入X=2,Y=100,得区间2,1000中的完全数:1:6=1+2+32:28=1+2+4+7+143:496=1+2=4+8+16+31+62+124+24814相亲数set talk
10、offfor i=11 to 9999s=1t=int(sqrt(i)+.01)for j=2 to tif i%j=0s=s+j+i/jendifendforif i=t*ts=s-tendifif i0b=b*10k=int(k/10)enddoc=s%bif a=c?ltrim(str(a)+2=+ltrim(str(s)endifendforreturn运行程序,输入X=10,Y=10000得252=625762=57763762=6252=93762=16素数set talk off?本程序求区间c,d上的素数:input输入区间下限c:to cinput输入区间上限d:to d?区
11、间+ltrim(str(c)+,+ltrim(str(d)+上的素数有:n=0if c%2=0c=c+1endif? for i=c to d step 2t=0for j=3 to sqrt(i) step 2if i%j=0t=1exitendifendforif t=0? str(i,6)n=n+1if mod(n,10)=0? endifendifendfor?共+ltrim(str(n)+个素数.return程序运行示例本程序求区间C,D上的数数输入区间下限C:2000输入区间上限D:21002003 2011 2017 2027 2029 2039 2053 2063 2069 2
12、0812083 2087 2089 2099共14个素数17乌兰现象set talk offclearinput 请输入数阵的阶数m: to mdime x(m+1)*(m+1),y(m+1)*(m+1)x(1)=0y(1)=0n=1t=int(m/2)for i=1 to tn=n+1x(n)=x(n-1)+1y(n)=y(n-1)do while y(n)-in=n+1x(n)=x(n-1)-1y(n)=y(n-1)enddodo while y(n)-in=n+1x(n)=x(n-1)y(n)=y(n-1)-1enddodo while x(n)2): to cinput请输入d: to
13、 df=0n=0if c%2=0c=c+1endiffor i=c to d step 2t=0for j=3 to sqrt(i) step 2if i%j=0t=1exitendifendforif t=0if i-f=2?(+ltrim(str(f)+,+ltrim(str(i)+)n=n+1endiff=iendifendfor?共+ltrim(str(n)+对孪生素数.return运行程序,输入区间101,200,得(101,103),(107,109),(137,139),(149,151),(179,181)(191,193),(197,199)共7对孪生素数19梅森尼数set
14、talk offclears=0t=2for n=2 to 50t=t*2m=t-1x=0for j=3 to sqrt(m)+1 step 2if m%j=0x=1exitendifendforif x=0s=s+1? 2+ltrim(str(n)+-1=+ltrim(str(m)endifendfor?指数n于2,50中梅森尼数共有+ltrim(str(s)+个.return程序运行结果与讨论22-1=323-1=725-1=3127-1=127213-1=8191217-1=219-1=231-1=指数n于2,50中的梅森尼数共有8个20金蝉素数dime a(5)?金蝉素数为:for k
15、=10001 to 99999 step 2t=0for j=3 to sqrt(k) step 2if k%j=0t=1exitendifendforif t=0a(1)=k%10a(5)=int(k/10000)d=int(k/10)%1000for j=2 to sqrt(d)if d%j=0t=1exitendifendforendifif t=0a(2)=d%10a(4)=int(d/100)a(3)=int(d/10)%10for i=1 to 4for j=i+1 to 5if a(i)=a(j)t=1exitendifendforendforendifif t=0for j=1
16、 to 5if a(j)%2=0 or a(3)=1 or a(3)=9t=1exitendifendforendifif t=0?kendifendforreturn程序运行,得5个金蝉素数:13597 53791 79531 91573 95713在输出的这5个金蝉素数中,13597与79531是互逆的金蝉素数。21素数多项式set talk offm=0input请输入f: to f?y=x2-x+str(f,2)+,?当x取值在1,+str(f-1,2)+,y的素数分布:? for x=1 to f-1y=x*x-x+ft=0for k=3 to sqrt(y) step 2if y%
17、k=0t=1exitendifendforif t=0?x=+str(x,2)+时,+str(y,4)+素数:m=m+1if m%4=0? endifelse?x=+str(x,2)+时,+str(y,4)?=+str(k,3)+*+str(y/k.3)endifendforreturn请输入f:41y=x2+41 ,当n取值在1,40,y的素数分布:x=1时,41素数,x=2时,43素数,x=3时,47素数,x=4时,53素数,x=5时,61素数,x=6时,71素数,x=7时,83素数,x=8时,97素数,x=9时,113素数,x=10时,131素数,x=11时,151素数,x=12时,17
18、3素数,x=13时,197素数,x=14时,223素数,x=15时,251素数,x=16时,281素数,x=17时,313素数,x=18时,347素数,x=19时,383素数,x=20时,421素数,x=21时,461素数,x=22时,503素数,x=23时,547素数,x=24时,593素数,x=25时,641素数,x=26时,691素数,x=27时,743素数,x=28时,797素数,x=29时,853素数,x=30时,911素数,x=31时,971素数,x=32时,1033素数,x=33时,1097素数,x=34时,1163素数,x=35时,1231素数,x=36时,1301素数,x=3
19、7时,1373素数,x=38时,1447素数,x=39时,1523素数,x=40时,1601素数,验证了当x=1,2,40时,二次多项式x2-x+41的值均为素数22等差素数列?求指定区间内等差素数列的最多项数:input 请输入区间下限w0: to w0input 请输入区间上限w:to wdime a(w-w0)/2)u=0if w0%2=0w0=w0+1endiffor k=w0 to w step 2t=0for j=3 to sqrt(k) step 2if k%j=0t=1exitendifendforif t=0u=u+1a(u)=kendifendformax=0for n=1
20、 to u-1p=a(u)-a(n)for j=n+1 to ud=a(j)-a(n)if dp/3exitendifh=jm1=2for i=j+1 to uif a(i)-a(h)=dh=im1=m1+1endifif max? for i=1 to max? ltrim(str(m+(i-1)*d1)+ endforreturn程序运行示例:请输入区间下限w0:3请输入区限上限w:2009区间3,2009内等差素数列最多有9项:199 409 619 829 1039 1249 1459 1669 1879请输入区间下限w0:101请输入区限上限w:1000区间3,2009内等差素数列最
21、多有6项:107 137 167 197 227 257 23验证歌德巴赫想set talk off?在区间c,d中验证哥德巴赫猜想:input请输入区间下限c=to cinput请输入区间上限d=to dif c%2#0c=c+1endiffor i=c to d step 2j=1do while jn?最小的+str(n,3)+个连续合数区间为:? +ltrim(str(f+1)+,+ltrim(str(f+n)+.returnendifif t=0f=mendifendforif m=d+2c=d+2d=c+10000endifenddoreturn程序运行示例:求最小的n个连续合数,
22、输入n(2-100):30最小的30个连续合数区间为:1328,1357求最小的n个连续合数,输入n(2-100):100最小的100个连续合数区间为:,25逆序乘积式dime c(6)?三位逆序式: DEF*GHK=FED*KHGn=0for a=102 to 987for b=a+1 to 999c(1)=int(a/100)c(2)=int(a/10)%10c(3)=a%10c(4)=int(b/100)c(5)=int(b/10)%10c(6)=b%10a1=c(3)*100+c(2)*10+c(1)b1=c(6)*100+c(5)*10+c(4)if a*b#a1*b1 or c(1
23、)c(4) or c(1)c(3) or c(1)c(6)loopendift=0for i=1 to 5for j=i+1 to 6if c(i)=c(j)t=iexitendifendforendforif t=0n=n+1? str(n,5)+:+str(a,3)+*+str(b,3)+=? str(a1,3)+*+str(b1,3)endifendforendforreturn程序运行结果:三位逆序式:DEF*GHK=FED*KHG1:134*862=431*2682:143*682=341*2863:314*826=413*62826巧妙的三组平方set talk offn=0x=0
24、z=0?三组平方的所有分法为:? no a b cfor a1=1 to sqrt(798)for b1=a1+1 to sqrt(8976)a=a1*a1ad=ltrim(str(a)b=b1*b1bd=ltrim(str(b)ln=9-len(ad)-len(bd)c0=max(b1+1,int(sqrt(10(ln-1)+0.01)for c1=c0 to int(sqrt(10ln)c=c1*c1hd=str(c)+ad+bdm=0for i=1 to 9if !(str(i,1)$hd)m=1exitendifendforif m=0 and (x#a or z#c)n=n+1? s
25、tr(n)+:+ltrim(str(a)+(+ltrim(str(a1)+2)? ltrim(str(b)+(+ltrim(str(b1)+2)? ltrim(str(c)+(+ltrim(str(c1)+2)x=az=cc1=10000endifendforendforendfor?共+ltrim(str(n)+种分法.return程序运行结果:三组平方的所有分法为:no a b c1: 1(12) 4(22) (18162)2: 1(12) 49(72) (9342)3: 1(12) 64(82) (7332)4: 1(12) 256(162) 73984(2722)5: 4(22) 16
26、(42) (7332)6: 4(22) 25(52) (3742)7: 4(22) 289(172) 15376(1242)8: 9(32) 324(182) 15876(1262)9: 16 (42) 25(52) 73984(2722)10: 16(42) 784(282) 5329(732)11: 25(52) 784(282) 1369(372)12: 25(52) 842(292) 7396(862)13: 36(62) 81(92) 74529(2732)14; 36(62) 729(272) 5184(722)15: 81(92) 324(182) 7569(872)16: 81
27、(92) 576(242) 3249(572)17: 81(92) 729(272) 4356(662)18: 361(192) 529(232) 784(282)共18种分法。27完美和式set talk offn=0for c=312 to 987for a=123 to 498b=c-at=0d=ltrim(str(a)+ltrim(str(b)+ltrim(str(c)if len(d)#9 or b9999exitendift=0d=str(a,2)+str(b,3)+str(c,4)for i=1 to 9if at(str(i,1),d)=0t=1exitendifendfori
28、f t=0? str(a,2)+*+str(b,3)+=+str(c,4)n=n+1endifendforendfor? 共以上+str(n,2)+个解.return程序运行结果:OO*OOO=OOOO12*483=579818*297=534627*198=534628*157=439639*186=725442*138=579648*159=7632共以上7个解。29完美综合算式set talk off? OO*O+OOO/O-OO=0n=0for a=12 to 49for b=2 to 8for c=123 to 897for d=2 to 9e=a*b+c/dif e#int(e)
29、or e99loopendiff=str(a,2)+str(b,1)+str(c,3)+str(d,1)+str(e,2)t=0for i=1 to 9if at(str(i,1),f)=0t=1exitendifendforif t=0n=n+1? str(n,2)+:+str(a,2)+*+str(b,1)+? str(c,3)+/+str(d,1)+-+str(e,2)+=0endifendforendforendforendfor?共以上+str(n,2)+个解.return程序运行结果地变通:OO*O+OOO/O-OO=01:12*4+376/8-95=02:17*3+258/6-9
30、4=03:35*2+168/7-94=0共以上3个解。30桥本分数式set talk offclears=0? 桥本分数式有:?for a= to step 9d=str(a,9)t=0for k=1 to 9if at(str(k,1),d)=0t=1exitendifendforif t=1loopendifb1=val(substr(d,1,1)b2=val(substr(d,2,2)c1=val(substr(d,4,1)c2=val(substr(d,5,2)d1=val(substr(d,7,1)d2=val(substr(d,8,2)if b1c1loopendifif b1*c
31、2*d2+c1*b2*d2=d1*b2*c2s=s+1?str(s,2)+:+str(b1,1)+/+str(b2,2)+str(c1,1)? /+str(c2,2)+=+str(d1,1)+/+str(d2,2)+if s%2=0? endifendifendforreturn程序运行结果:1:1/26+5/78=4/39 2:1/32+5/96=7/843:1/32+7/96=5/48 4:1/78+4/39=6/525:1/96+7/48=5/32 6: 2/68+9/34=5/177:2/68+9/51=7/34 8: 4/56+7/98=3/219:5/26+9/78=4/13 10
32、 :6/34+8/51=9/27 31埃及分数式set talk offinput 请确定指定数的分子: to minput 请确定指定数的分母: to dinput 请确定分母的上界值: to z? 把分数+str(m,2)+/+str(d,3)+分解为3个埃及分数之和:? (分母不得为+str(d,3)+最大分母不超过+str(z,4)+)n=0a1=int(d*z/(m*z-2*d)a2=int(3*d/m)+1for a=a1 to a2for b=a+1 to z-1for c=b+1 to zx=m*a*b*cy=d*(a*b+b*c+c*a)if x=y and b#d and
33、c#dn=n+1? NO+str(n,1)+:+str(m,2)+/+str(d,3)+=1/? str(a,3)+1/+str(b,3)+1/+str(c,4)exitendifendforendforendfor? 共上述+str(n,1)+个分解式.return程序运行示例与讨论请确定指定数的分子:5请确定指定数的分母:121请确定分母的上界值:1100把分数5/121分解为三个埃及分数之和:(分母不得为121,最大分母不超过1100)NO1:5/121=1/27+1/297+1/1089NO2:5/121=1/33+1/99+1/1089NO3:5/121=1/45+1/55+1/1089共上述3个分解式。32分数数列 set talk off ?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物●海南卷丨2024年海南省普通高中学业水平选择性考试生物试卷及答案
- 统编版语文三下( 第三单元重难点梳理)复习课件
- 宁夏青铜峡市宁朔县中2022-2023学年高二下学期期末考试化学试题(含答案)
- 汽车传感器与检测技术电子教案:轮速传感器
- 售电公司客户管理制度
- 白玉兰小区方案86p
- 商贸公司门店管理制度
- 从化溪头破冰活动方案
- 仓库低价活动策划方案
- 仙湖团建活动方案
- 软件知识产权授权管理框架与合规性研究
- 2025年山东省潍坊市中考二模地理试题及答案
- 全新入股在股东名下协议二零二五年
- 2025年一年级语文下册期末考试检测题苏教版
- 游泳池水质检测培训
- 国家级突发中毒事件卫生应急处置队建设规范
- 薪酬管理制度级差设计
- 婚内单身协议书范本
- 总经理讲安全课件
- GB/T 45255-2025公共信用综合评价规范
- 压线端子操作规范
评论
0/150
提交评论