湖南省二级VF程序设计100题[1].doc

上传人:PIYPING 文档编号:10625725 上传时间:2021-05-27 格式:DOC 页数:11 大小:202KB
返回 下载 相关 举报
湖南省二级VF程序设计100题[1].doc_第1页
第1页 / 共11页
湖南省二级VF程序设计100题[1].doc_第2页
第2页 / 共11页
湖南省二级VF程序设计100题[1].doc_第3页
第3页 / 共11页
湖南省二级VF程序设计100题[1].doc_第4页
第4页 / 共11页
湖南省二级VF程序设计100题[1].doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《湖南省二级VF程序设计100题[1].doc》由会员分享,可在线阅读,更多相关《湖南省二级VF程序设计100题[1].doc(11页珍藏版)》请在三一文库上搜索。

1、1、已知24有8个正整数因子(即:1,2,3,4,6,12,24),而24正好被其因子的个数8整除。求1,100之间第10个能被其因子个数整除的正整数。set talk offclearn=0for i=1 to 100k=0for j=1 to iif mod(i,j)=0k=k+1endifendforif mod(i,k)=0? i &此处为输出第1至第10个满足条件的数n=n+1endifif n=10exitendifendfor? 1至100之间第10个能被其因子数目整除的正整数是,iset talk onreturn问100,300之间有多少个能被其因子数目整除的数。set ta

2、lk offclearn=0for i=100 to 300k=0for j=1 to iif mod(i,j)=0k=k+1endifendforif mod(i,k)=0? in=n+1endifendfor? 100至300之间有+str(n)+个能被其因子数目整除的数set talk onreturn2、倒勾股数是满足公式:1/A2+1/B2=1/C2的一组正整数(A,B,C),例如,(156,65,60)是倒勾股数,因为:1/1562+1/652=1/602。假定ABC。求A,B,C均小于或等于100的倒勾股数有多少组?set talk offclearn=0for a=1 to 1

3、00for b=1 to 100for c=1 to 100if 1/(a2)+1/(b2)=1/(c2) and ab and bc and bc? a,b,cn=n+1endifendforendforendfor? a,b,c均小于或等于100的倒勾股数有+str(n)+组set talk onreturn求A,B,C之和小于100的倒勾股数有多少组?set talk offclearn=0for a=1 to 100for b=1 to 100for c=1 to 100if 1/a2+1/b2=1/c2 and ab and bc and a+b+cb and bc? a,b,cIF

4、 MAXb and bc? a,b,cS=S+Aendifendforendforendfor? a值的和是,Sset talk onreturn3、已知Aa+bmin=a+b &提示:当A=xif maxfxf0=fxx0=xendifendfor? x0set talk onreturn6、求351,432之间所有既不能被3整除,又不能被8整除的正整数的个数。set talk offclearn=0for x=351 to 432if mod(x,3)0 and mod(x,8)0n=n+1endifendfor? nset talk onreturn7、求1-5000之间能同时被3和7整

5、除的数的个数。set talk offclearn=0for x=1 to 5000if mod(x,3)=0 and mod(x,7)=0n=n+1endifendfor? nset talk onreturn8、有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13(注:该数列从第二项开始,其分子是前项的分子与分母的和,而其分母是前一项的分子),求出这个序列前24项的和。要求:按四舍五入的方式精确到小数点的后第二位。方法一:set talk offclears=0f1=2f2=1for n=1 to 24s=s+f1/f2f=f1+f2f2=f1f1=fendfor? rou

6、nd(s,2)set talk onreturn方法二:set talk offclears=0a=2 &分子b=1 &分母for n=1 to 24s=s+a/ba=a+bb=a-bendfor? round(s,2)set talk onreturn9、已知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(45)值。set talk offcleardime f(45)f(1)=1f(2)=1for n=3 to 45f(n)=f(n-1)+f(n-2)end

7、for? f(45)set talk onreturn10、设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?set talk offclears=45600n=0do while s4*45600s=s*1.08n=n+1enddo? nset talk onreturn11、勾股弦数是满足公式: A2+B2=C2 (假定ABC)的一组正整数(A,B,C),例如,(3,4,5)是勾股弦数,因为:32+42=52。求A,B均小于25且A+B+C=100的勾股弦数的个数。set talk offclearn=0for a=1 to 25

8、for b=1 to 25for c=1 to 100if a2+b2=c2 and a+b+c100 and ab and bcn=n+1? a,b,c &输出A,B,C的值endifendforendforendfor? nset talk onreturn12、若某整数平方等于某两个正整数平方之和的正整数称为弦数。例如:由于32+42=52,则5为弦数,求100,200之间弦数的数目。set talk offclean=0for c=100 to 200for a=1 to c-1b=c2-a2if int(sqrt(b)*int(sqrt(b)=b? cn=n+1exitendifen

9、dforendfor? nset talk onreturn13、设有6个十进制数字a,b,c,d,f,e,求满足abcdfe=fdcba条件的五位数abcdf(a0,e0,e1)的个数。set talk offclearn=0for a=1 to 9for b=0 to 9for c=0 to 9for d=0 to 9for f=0 to 9for e=2 to 9if (a*10000+b*1000+c*100+d*10+f)*e=f*10000+d*1000+c*100+b*10+an=n+1? a,b,c,d,f,eendifendforendforendforendforendfo

10、rendfor? nset talk onreturn14、设某四位数的各位数字的立方和等于100,试问有多少个这样的四位数?set talk offclearn=0for i=1000 to 9999a=int(i/1000)b=int(i-a*1000)/100)c=int(mod(i,100)/10)d=i%10if a2+b2+c2+d2=100n=n+1endifendfor? n15、求方程8x-5y=3,在|x|=150, |y|=200内的整数解。试问这样的整数解中x+y|的最大值是多少?set talk offclearfor x=-150 to 150for y=-200

11、to 200if 8*x-5*y=3max=x+yendifendforendfor? maxset talk onreturn16、已知:A1=1, A2=1/(1+A1), A3=1/(1+A2), An=1/(1+An-1), , 求A50。(按四舍五入的方式精确到小数点后第三位)。(0.618)set talk offcleara=1for i=2 to 50a=1/(a+1)endfor? A50=,round(a,3)set talk onreturn17、有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求这种三位数共有多少

12、个? (4)set talk offclearn=0for i=100 to 999a=int(i/100)b=int(i-a*100)/10)c=i%10if a3+b3+c3=i and ab and ac and bcn=n+1endifendfor? nset talk onreturn18、已知求f(0)到f(50)中的最大值。(598325)set talk offcleardime f(50)f(1)=1f(2)=0f(3)=-1max=0for n=4 to 50f(n)=f(n-1)-2*f(n-2)+f(n-3)if max=if=ifor k=2 to (f-2)-1if

13、 mod(f-2,k)=0exitendifif k=f-2-1? f,f-2n=n+1endifendforendifendfor?n20、数列称为e数列,每一个e(n),(n=1,2)称为e数。求1,30000之内的最大的e数。(16687)set talk offcleardime f(30)f(1)=1f(2)=1n=3do while n30000exitendifn=n+1enddoset talk onreturn21、求正整数1,500中,能同时满足用3除余2,用5除余3,用7除余2的所有正整数的和。(1165)set talk offclears=0for x=1 to 50

14、0if mod(x,3)=2 and mod(x,5)=3 and mod(x,7)=2s=s+xendifendfor? sset talk onreturn22、把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,问有多少种方案?(80)set talk offclearn=0for yi=8 to 100for er=8 to 50for wu=8 to 20if yi*1+er*2+wu*5=100n=n+1endifendforendforendfor? n,set talk onreturn23、斐波那契数列的前二项是1,1,其后每一项都是前面两项之和。 求:10000000以

15、内最大的斐波那契数?(9227465)set talk offclearf1=1f2=1do while f1=10000000f1=f1+f2f2=f1-f2enddo? f2return求:10000000以内有多少个斐波那契数?(35)set talk offclean=1f1=1f2=1do while f1=10000000f1=f1+f2f2=f1-f2n=n+1? f2enddo? nretu24、某些分数的分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分子跟原分子相等。例如,63/84=(6+

16、3)/(8+4)。试求所有具有这种特点的真分子的个数。set talk offclearn=0for x=10 to 99for y=10 to 99a=int(x/10)b=x%10c=int(y/10)d=y%10if x/y=(a+b)/(c+d) and x/y1n=n+1endifendforendfor?nset talk onreturn25、所谓同构数是指这样一个数,它出现在它的平方数的右侧,例如5的平方是25,25的平方是625,故5和25都是同构数,求1,1000之间有多少个同构数。方法一set talk offclearn=0for x=1 to 1000p=len(al

17、ltrim(str(x)m=1for i=1 to pm=m*10endforif mod(x*x,m)=xn=n+1? xendifendfor? nreturn25、方法二set talk offi=1n=0do while i=999s=i2if mod(s,1000)=i or mod(s,100)=i or mod(s,10)=i? i, 是个同构数n=n+1endifi=i+1enddo? nset talk onreturn26、求300,400之间最小(大)的一个有奇数个不同因子的整数。set talk offclearmin=400 &如果求最大,此行定义max=300for

18、 i=300 to 400n=0for j=1 to iif mod(i,j)=0n=n+1endifendforif mod(n,2)0if maxendifendforset talk onreturn27、在200,900范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10所得的余数是百位数字;该数是素数; 求有多少个这样的数?(14)set talk offcleark=0for m=200 to 900a=int(m/100)b=int(m-a*100)/10)c=mod(m,10)for n=2 to m-1if m/n=int(m/n)exitendifif

19、n=m-1if mod(b+c,10)=ak=k+1endifendifendforendfor? k28、回文数是指正读和反读都一样的正整数。例如3773等都是回文数。求出1000,9999以内的所有回文数的个数。(90)set talk offclearn=0for i=1000 to 9999a=int(i/1000)b=int(i-a*1000)/100)c=int(i-a*1000-b*100)/10)d=i%10if i=a+b*10+c*100+d*1000n=n+1endifendfor? nset talk onreturn29、一个14*14方阵A(i,j),其每个元素的值

20、为该元素下标的立方和,求出该矩阵所有元素的累加和(注:i,j从1到14).set talk offcleas=0for i=1 to 14for j=1 to 14ij=i3+j3s=s+ijendforendfor? sretu30、某些分数的分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分子跟原分子相等。例如,63/84=(6+3)/(8+4)。试求所有具有这种特点的真分子(非约简真分数)的分子之和。set talk offclearn=0s=0for x=10 to 99for y=10 to 99a=

21、int(x/10)b=x%10c=int(y/10)d=y%10if x/y=(a+b)/(c+d) and x/y1 &真分子是分母大于分子的分数s=s+xn=n+1endifendforendfor?sset talk onreturn31、一个数如果刚好与它所有的因子之和相等,则称该数为一个完数,如:6=1+2+3,则6就是一个完数。求出1000以内的所有完数之和。set talk offclears=0for x=1 to 1000m=0for k=1 to x-1if mod(x,k)=0m=m+kendifendforif m=xs=s+xendifendfor? sset tal

22、k onreturn32、A,B,C三个正整数,当满足1/A2+1/B2=1/C2关系时,称为倒勾股数。求130A+B+C130 and a+b+c150n=n+1? a,b,cendifendforendforendfor? nset talk onreturn33、水仙花数是一个三位正整数,它等于它的各位数字的立方之和. 例如:153=13+53+33,所以153是水仙花数. 求400以内的最大水仙花数与最小水仙花数之积。set talk offclearn=0max=100min=400for i=100 to 400a=int(i/100)b=int(i-a*100)/10)c=i%1

23、0if a3+b3+c3=iif maximin=iendifendifendfor? max*minset talk onreturn34、一个数如果恰好等于它的所有真因子之和,这个数就称为完数。例如,6的真因子为1,2,3,而6=1+2+3,因此,6是完数。求1,1000之间的第大完数。set talk offclearfor i=1 to 1000s=0for j=1 to i-1if mod(i,j)=0s=s+jendifendforif s=imax=iendifendfor?maxset talk onreturn35、找满足以下条件: X2+Y2+Z2=372 且X+Y+Z之值

24、最大的三个正整数X,Y,Z, 求X+Y+Z之值。set talk offcleamax=0for x=0 to 37for y=0 to 37for z=0 to 37if x2+y2+z2=372if max=if=ifor k=2 to (f-2)-1if mod(f-2,k)=0exitendifif k=f-2-1? f,f-2s=f+f-2endifendforendifendfor?s38、在300,800范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10所得的余数是百位数字;该数是素数; 求其中最大的数?set talk offcleark=0max=0fo

25、r m=300 to 800a=int(m/100)b=int(m-a*100)/10)c=mod(m,10)for n=2 to m-1if m/n=int(m/n)exitendifif n=m-1if mod(b+c,10)=aif max y z),则(x,y,z)称为方程的一个解。试求方程的所有整数解中x+y+z的最大值。set talk offclearmax=0for x=0 to 55for y=0 to 55for z=0 to 55if x2+y2+z2=552 and xy and yzif max y z),则(x,y,z)称为方程的一个解。试求方程的整数解(包括负整数

26、解)的个数。set talk offclearn=0for x=-55 to 55for y=-55 to 55for z=-55to 55if x2+y2+z2=552 and xy and yzn=n+1endifendforendforendfor? nset talk onreturn44、有一个数列,它的头三个数为1,2,3,以后的每个数都是其前三个数的和,求此数列从第几项起大于或等于3000。set talk oncleardime f(3000)f(1)=1f(2)=2f(3)=3for n=4 to 3000f(n)=f(n-1)+f(n-2)+f(n-3)if f(n)=kn

27、=n+1endifendfor? nset talk onreturn48、计算y=1+2/3+3/5+4/7+n/(2*n-1)(n=50), 要求:按四舍五入的方式精确到小数点后第二位。set talk offclears=1for i=2 to 50t=2*i-1s=s+i/tendfor? round(s,2)set talk onreturn49、找满足以下条件:X2+Y2+Z2=252且X+Y+Z之值最大的三个正整数X,Y,Z,求X+Y+Z之值。set talk offcleamax=0for x=0 to 25for y=0 to 25for z=0 to 25if x2+y2+

28、z2=252if max=kn=n+1endifendfor? nset talk onreturn51、当m的值为50时,计算下列公式之值:t=1-1/(2*2)-1/(3*3)-1/(m*m) 要求:按四舍五入的方式精确到小数点后第四位。set talk offclears=1for i=2 to 50t=i*is=s-1/tendfor? round(s,4)set talk onreturn52、一个素数,依次从个位开始去掉一位,二位.,所得的各数仍然是素数,称为超级素数。求100,999之内超级素数的个数。set talk offclearn=0s=0for i=100 to 999

29、a=int(i/100)b=int(i-a*100)/10)c=mod(i,10)for k=2 to i-1if mod(i,k)=0exitendifif k=i-1 and a0 and b0 and c0for m=2 to b*10-c-1if mod(b*10+c,m)=0exitendifif m=b*10-c-1for j=2 to c-1if mod(c,j)=0exitendifif j=c-1?in=n+1endifendforendifendforendifendforendfor?n53、已知:S(n)=2/1+3/2+4/3+(n+1)/n, 求S(n)不超过50的

30、最大值(按四舍五入的方式精确到小数点后第三位)。set talk offclears=0t=0do while s50t=t+1? t,round(s,3)s=s+(t+1)/tenddoset talk onreturn54、求500,1999之间的素数的个数,且要求该素数十位数字为7。set talk offclearn=0for m=500 to 1999for i=2 to m-1if mod(m,i)=0exitendifif i=m-1 and mod(int(m/10),10)=7n=n+1? mendifendforendfor? 共有素数+STR(n)+个return55、若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求2,49之间友素数对的数目。set talk offclearn=0for i=2 to 49k=i*(i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1