趣味Visual-FoxPro-程序設(shè)計集錦_第1頁
趣味Visual-FoxPro-程序設(shè)計集錦_第2頁
趣味Visual-FoxPro-程序設(shè)計集錦_第3頁
趣味Visual-FoxPro-程序設(shè)計集錦_第4頁
趣味Visual-FoxPro-程序設(shè)計集錦_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、趣味Visual FoxPro 程序設(shè)計集錦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)?總麥粒數(shù)約為:+str(s,10,3)+粒.?折合體積約為:+ltrim(str(v,15)+立方米?堆成正圓錐高約為:+str(h,5)+米return程序運(yùn)行結(jié)果與說明請輸入n:64總麥粒數(shù)約為:1.845e+019折合體積約為6立方米堆成正圓維高約為7193米5-1失算的另一名題:買馬燈input請輸入n: to nt=1s=1for i=2 to n

2、t=t*2s=s+tendfor?共需花費(fèi)+ltrim(str(s,16)+個包盧斯卡.?合約+str(s/400,10,4)+盧卡.return程序運(yùn)行結(jié)果與點(diǎn)評請輸入n:24共需花費(fèi)個外包盧斯卡合約41943.0375盧布6分?jǐn)?shù)不等式?求n1+1/2+1/3+1/4+.+1/mn+1的正整數(shù)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)+m+ltrim(str

3、(d,10)return程序運(yùn)行結(jié)果:求n1+1/2+1/3+1/4.+1/mn+1的正整數(shù)m請輸入n:10滿足不等式的m為:12367m33616請輸入n:15滿足不等式的m為:m7階乘與階乘和數(shù)set talk off?三位階乘和數(shù)有: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程序運(yùn)行結(jié)果:三位階乘和數(shù)有:145可見145是唯一的三位階乘和數(shù)8

4、綜合高精度計算cleardime a(500)a=0? 1:計算階乘n!? 2:計算乘方mn? 3:計算排列數(shù)A(n,m)input 選擇(1-3): to zinput 請輸入正整數(shù)n: to nif z#1input 請輸入正整數(shù)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=jdo casecase

5、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? 所得結(jié)果共+ltrim(str(f)+位return運(yùn)行程序,選擇3,輸入n=100,m=90,得A(100,90)=所得結(jié)果共152位。10最大公約數(shù)與最小公倍數(shù)set talk offinput 輸入正整數(shù)a: to ainput 輸入整數(shù)b: to

6、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運(yùn)行程序,輸入1104,1272得(1104,1272)=241104,1272=5851211水仙花數(shù)set talk offinput 輸入正整數(shù)a: to ainput 輸入整數(shù)b: to bst=ltrim(str(a,12)+,+ltrim(str(b,12)m=a*br=mod(a,b)do while r#0

7、a=bb=rr=mod(a,b)enddo?(+st+)=+ltrim(str(b,15)?(+st+)=+ltrim(str(m/b)return運(yùn)行程序,得水仙花數(shù):153 370 371 40712勾股數(shù)set talk offinput請輸入?yún)^(qū)間下限值: to m1inpu 請輸入?yún)^(qū)間上限值: to m2?區(qū)間+ltrim(str(m1)+,+ltrim(str(m2)+中的勾股數(shù)組有: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=0t=1endifend

8、forif 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)+組勾股數(shù).return運(yùn)行程序,求得10,30中的勾股數(shù):區(qū)間(10,30)中的勾股數(shù)組有:12 16 2015 20 2518 24 3010 24 2621 20 2913完全數(shù)set talk offinput x= to xinput y= to y? 區(qū)間+ltrim(str(x)+,+

9、ltrim(str(y)+中的完全數(shù):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運(yùn)行程序,輸入X=2,Y=100,得區(qū)間2,1000中的完全數(shù):1:6=1+2+32:28=1+2+4+7+143:496=1+2=4+8+16+31+62+124+24814相親數(shù)set talk offfor i=11 t

10、o 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運(yùn)行程序,輸入X=10,Y=10000得252=625762=57763762=6252=93762=16素數(shù)set talk off?本程序求區(qū)間c,d上的素數(shù):input輸入?yún)^(qū)間下限c:to cinput輸入?yún)^(qū)間上限d:to d?區(qū)間+ltrim(str(c

11、)+,+ltrim(str(d)+上的素數(shù)有: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)+個素數(shù).return程序運(yùn)行示例本程序求區(qū)間C,D上的數(shù)數(shù)輸入?yún)^(qū)間下限C:2000輸入?yún)^(qū)間上限D(zhuǎn):21002003 2011 2017 2027 2029 2039 2053 2063 2069 20812083 2087

12、2089 2099共14個素數(shù)17烏蘭現(xiàn)象set talk offclearinput 請輸入數(shù)陣的階數(shù)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 df=0n=0if c%

13、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)+對孿生素數(shù).return運(yùn)行程序,輸入?yún)^(qū)間101,200,得(101,103),(107,109),(137,139),(149,151),(179,181)(191,193),(197,199)共7對孿生素數(shù)19梅森尼數(shù)set talk offclear

14、s=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?指數(shù)n于2,50中梅森尼數(shù)共有+ltrim(str(s)+個.return程序運(yùn)行結(jié)果與討論22-1=323-1=725-1=3127-1=127213-1=8191217-1=219-1=231-1=指數(shù)n于2,50中的梅森尼數(shù)共有8個20金蟬素數(shù)dime a(5)?金蟬素數(shù)為:for k=10001 to 999

15、99 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 to 5if a(j)%

16、2=0 or a(3)=1 or a(3)=9t=1exitendifendforendifif t=0?kendifendforreturn程序運(yùn)行,得5個金蟬素數(shù):13597 53791 79531 91573 95713在輸出的這5個金蟬素數(shù)中,13597與79531是互逆的金蟬素數(shù)。21素數(shù)多項(xiàng)式set talk offm=0input請輸入f: to f?y=x2-x+str(f,2)+,?當(dāng)x取值在1,+str(f-1,2)+,y的素數(shù)分布:? for x=1 to f-1y=x*x-x+ft=0for k=3 to sqrt(y) step 2if y%k=0t=1exitend

17、ifendforif t=0?x=+str(x,2)+時,+str(y,4)+素數(shù):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 ,當(dāng)n取值在1,40,y的素數(shù)分布:x=1時,41素數(shù),x=2時,43素數(shù),x=3時,47素數(shù),x=4時,53素數(shù),x=5時,61素數(shù),x=6時,71素數(shù),x=7時,83素數(shù),x=8時,97素數(shù),x=9時,113素數(shù),x=10時,131素數(shù),x=11時,151素數(shù),x=12時,173素數(shù),x=13時,197

18、素數(shù),x=14時,223素數(shù),x=15時,251素數(shù),x=16時,281素數(shù),x=17時,313素數(shù),x=18時,347素數(shù),x=19時,383素數(shù),x=20時,421素數(shù),x=21時,461素數(shù),x=22時,503素數(shù),x=23時,547素數(shù),x=24時,593素數(shù),x=25時,641素數(shù),x=26時,691素數(shù),x=27時,743素數(shù),x=28時,797素數(shù),x=29時,853素數(shù),x=30時,911素數(shù),x=31時,971素數(shù),x=32時,1033素數(shù),x=33時,1097素數(shù),x=34時,1163素數(shù),x=35時,1231素數(shù),x=36時,1301素數(shù),x=37時,1373素數(shù),x=3

19、8時,1447素數(shù),x=39時,1523素數(shù),x=40時,1601素數(shù),驗(yàn)證了當(dāng)x=1,2,40時,二次多項(xiàng)式x2-x+41的值均為素數(shù)22等差素數(shù)列?求指定區(qū)間內(nèi)等差素數(shù)列的最多項(xiàng)數(shù):input 請輸入?yún)^(qū)間下限w0: to w0input 請輸入?yún)^(qū)間上限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 to u-1p=a(u)

20、-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程序運(yùn)行示例:請輸入?yún)^(qū)間下限w0:3請輸入?yún)^(qū)限上限w:2009區(qū)間3,2009內(nèi)等差素數(shù)列最多有9項(xiàng):199 409 619 829 1039 1249 1459 1669 1879請輸入?yún)^(qū)間下限w0:101請輸入?yún)^(qū)限上限w:1000區(qū)間3,2009內(nèi)等差素數(shù)列最多有6項(xiàng):107 137

21、167 197 227 257 23驗(yàn)證歌德巴赫想set talk off?在區(qū)間c,d中驗(yàn)證哥德巴赫猜想:input請輸入?yún)^(qū)間下限c=to cinput請輸入?yún)^(qū)間上限d=to dif c%2#0c=c+1endiffor i=c to d step 2j=1do while jn?最小的+str(n,3)+個連續(xù)合數(shù)區(qū)間為:? +ltrim(str(f+1)+,+ltrim(str(f+n)+.returnendifif t=0f=mendifendforif m=d+2c=d+2d=c+10000endifenddoreturn程序運(yùn)行示例:求最小的n個連續(xù)合數(shù),輸入n(2-100):30

22、最小的30個連續(xù)合數(shù)區(qū)間為:1328,1357求最小的n個連續(xù)合數(shù),輸入n(2-100):100最小的100個連續(xù)合數(shù)區(qū)間為:,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)c(4) or c(1)

23、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程序運(yùn)行結(jié)果:三位逆序式:DEF*GHK=FED*KHG1:134*862=431*2682:143*682=341*2863:314*826=413*62826巧妙的三組平方set talk offn=0x=0z=0?三組平方的所有分法

24、為:? 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? str(n)+:+ltrim

25、(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程序運(yùn)行結(jié)果:三組平方的所有分法為: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(42) (7332)6:

26、 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(92) 576(242)

27、 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=1exitendifendforif t=0? str(a,

28、2)+*+str(b,3)+=+str(c,4)n=n+1endifendforendfor? 共以上+str(n,2)+個解.return程序運(yùn)行結(jié)果: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) or e99loopend

29、iff=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程序運(yùn)行結(jié)果地變通:OO*O+OOO/O-OO=01:12*4+376/8-95=02:17*3+258/6-94=03:35*2+168

30、/7-94=0共以上3個解。30橋本分?jǐn)?shù)式set talk offclears=0? 橋本分?jǐn)?shù)式有:?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*c2*d2+c1*b2*d2

31、=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程序運(yùn)行結(jié)果: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 :6/34+8/51=9

32、/27 31埃及分?jǐn)?shù)式set talk offinput 請確定指定數(shù)的分子: to minput 請確定指定數(shù)的分母: to dinput 請確定分母的上界值: to z? 把分?jǐn)?shù)+str(m,2)+/+str(d,3)+分解為3個埃及分?jǐn)?shù)之和:? (分母不得為+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 c#dn=n+1? NO+

33、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程序運(yùn)行示例與討論請確定指定數(shù)的分子:5請確定指定數(shù)的分母:121請確定分母的上界值:1100把分?jǐn)?shù)5/121分解為三個埃及分?jǐn)?shù)之和:(分母不得為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分?jǐn)?shù)數(shù)列 set talk off ?已知數(shù)列:1/2,3/5,4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論