




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计综合一编程题1已知斐波那契数数列:1,1,2,3,5,8,它可由下面公式表述: F(1)=1 n=1 F(2)=1 n=2 F(n)=F(n-1)+F(n-2) n2 试求F(1)+F(2)+F(50) ;F(52);100以内最大的斐波那契数?(答案:32951280098,32951280099,89)23set talk off cleardecl f(50)s=2f(1)=1f(2)=1for n=3 to 50 f(n)=f(n-1)+f(n-2) s=s+f(n)endfor?sset talk onreturnset talk offcleardecl f(52)s=2f(1)=1f(2)=1for n=3 to 52 f(n)=f(n-1)+f(n-2)endfor?f(52)set talk onreturnset talk offcleardecl f(100)s=2f(1)=1f(2)=1for n=3 to 100 f(n)=f(n-1)+f(n-2) if f(n)=100 ?f(n-1) exit endifendforset talk onreturn2一个数列,它的头三个数为0,0,1,以后的每个数都是其前三个数的和,求此数列的前30项之和。(答案:18947744)set talk offcleardecl f(30)s=1f(1)=0f(2)=0f(3)=1for n=4 to 30 f(n)=f(n-1)+f(n-2)+f(n-3) s=s+f(n)endfor?sset talk onreturn3求1/2+2/3+3/5+5/8+的前1000项的和(注:该数列从第二项开始,其分子等于前一项的分母,而其分母等于前一项分子与分母之和)。要求:按四舍五入的方式精确到小数点后第二位。(答案:617.95)set talk offclearw=0x=1 y=2for n=1 to 1000w=w+x/yz=xx=yy=z+yendfor?round(w,2)set talk onreturn4求351,432之间所有既不能被3整除,又不能被8整除的整数的和。(答案:18413)set talk offclears=0for n=351 to 432 if mod(n,3)#0 and mod(n,8)#0 s=s+n endifendfor?sset talk onreturn5求1,999之间能被3整除,且至少有一位数字是5的所有正整数的个数。(答案:91)set talk offclears=0for n=1 to 999 if mod(n,3)=0 and 5 $ str(n) s=s+1 endifendfor?sset talk onreturn6. 求正整数1,500中,能同时满足用3除余2,用5除余3,用7除余2的所有正整数的个数。(答案:5)set talk offclears=0for n=1 to 500 if mod(n,3)=2 and mod(n,5)=3 and mod(n,7)=2 s=s+1 endifendfor?sset talk onreturn7. 若一自然数等于其所有真因子(不包括该数本身)之和,则称该数为完数. 例如:6的真因子有1,2,3,且6=1+2+3 ,因此6为完数, 求3,1000之间最大的完数。(答案:496)set talk offclearfor n=1000 to 3 step-1 s=0 for i=1 to n-1 if mod(n,i)=0 s=s+i endif endfor if s=n ?n exit endifendforset talk onreturn8. 求200,300之间最大的有奇数个不同因子的整数。(答案:289)set talk offclearfor n=300 to 200 step-1s=0for I=1 to nif mod(n,I)=0s=s+1endifendforif mod(s,2)#0?nexitendifendforset talk onreturn9. 已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问100,300之间有多少个能被其因子数目整除的数。(答案:19)set talk offclearw=0for n=300 to 100 step-1 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor if n%s=0 w=w+1 endifendfor?wset talk onreturn10. 若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。求1,500之间最大的多因子完备数。第三个多因子完备数。(答案:496,28) set talk offclearfor n=500 to 1 step-1 s=0 for i=1 to n if mod(n,i)=0 s=s+i endif endfor if s%n=0 ?n exit endifendforset talk onreturn set talk offclearw=0for n=500 to 1 step-1 s=0 for i=1 to n if mod(n,i)=0 s=s+i endif endfor if s%n=0 w=w+1 if w=3 ?n exit endif endifendforset talk onreturn 11. 求2,500之间的所有素数的和。(答案:21536)set talk offclearw=0for n=2 to 500 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor if s=2 w=w+n endifendfor?wset talk onreturn12. 求444,666范围内最大的素数是多少?(答案:661)set talk offclearfor n=666 to 444 step-1 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor if s=2 ?n exit endifendforset talk onreturn13. 编程求区间500,2500中按递增顺序第25个素数。(答案:659)set talk offclearw=0for n=500 to 2500 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor if s=2 w=w+1 if w=25 ?n exit endif endifendforset talk onreturn14. 梅森尼数是指能使2n-1为素数的数n,求1,21范围内有多少个梅森尼数?(答案:7)set talk offclearw=0for n=1 to 21 s=0 for i=1 to 2n-1 if mod(2n-1,i)=0 s=s+1 endif endfor if s=2 w=w+1 endif endfor?wset talk onreturn15. 若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于 8*9-1=71, 因此,8与9是友数对,71是友素数。求100,200之间的友数对的数目。(答案:40)set talk offclearw=0for n=100 to 199 s=0 for i=1 to n*(n+1)-1 if mod(n*(n+1)-1,i)=0 s=s+1 endif endfor if s=2 w=w+1 endif endfor?wset talk onreturn16. 若两个素数之差为2,则称这两个素数为双胞胎数。求出200,1000之间的最大一对双胞胎数的和。(答案:1764)set talk offclearfor n=998 to 200 step-1 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor w=0 for j=1 to n+2 if mod(n+2,j)=0 w=w+1 endif endfor if s=2 and w=2 ?n+n+2 exit endifendforset talk onreturn17. 在300,800范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10所得的余数是百位数字 ;该数是素数;求其中最大的数。(答案:761)set talk offclearfor n=800 to 300 step-1 a=int(n/100) b=int(mod(n,100)/10) c=n%10 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor if s=2 and (b+c)%10=a ?n exit endifendforset talk onreturn18. 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求12346可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)(答案:124)set talk offclearz=0for n=1 to 6173 s=0 for i=1 to n if mod(n,i)=0 s=s+1 endif endfor w=0 for j=1 to 12346-n if mod(12346-n,j)=0 w=w+1 endif endfor if s=2 and w=2 z=z+1 endifendfor?zset talk onreturn19、一个素数(设为p)依次从最高位去掉一位,二位,三位,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p称为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求100,999之内的所有逆向超级素数从大到小数的第10个素数是多少?(答案:797)set talk offclears=0for n=999 to 100 step-1a=int(n/100)b=int(mod(n,100)/10)c=n%10x=0for i=1 to n if n%i=0 x=x+1 endifendfory=0for j=1 to 10*b+c if (10*b+c)%j=0 y=y+1 endifendforz=0for k=1 to c if c%k=0 z=z+1 endifendforif x=2 and y=2 and z=2 and b#0 and c#0s=s+1if s=10?nexitendifendifendforset talk onreturn20、求数学式1-1/2+1/3-1/4+1/5-1/6+1/99-1/100的值(按四舍五入方式精确到小数点后4位)(答案:0.6882) set talk offclears=0for n=1 to 100s=s+(-1)(n+1)/nendfor?sset talk onreturn21、当n的值为50时,求S的值。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+N)。要求:按四舍五入的方式精确到小数点后第四位。(答案:1.9608) set talk off cleardecl f(50) s=1f(1)=1for n=2 to 50 f(n)=f(n-1)+n s=s+1/f(n)endfor?sset talk onreturn第二种方法set trlk offclears=0for x=1 to 50sn=0for n=1 to xsn=sn+nendfors=s+1/snendfor?round(s,4)22、 己知S1=1,S2=1+2,S3=1+2+3,SN=1+2+n,求S20到S80之间有多少个数能被17或35整除。(答案:12) set talk off cleardecl s(80)w=0s(1)=1for n=2 to 80 s(n)=s(n-1)+n if n=20 if s(n)%17=0 or s(n)%35=0 w=w+1 endif endifendfor?wset talk onreturn23、 己知S1=1, S2=1+2, S3=1+2+4, S4=1+2+4+8,S5=1+2+4+8+16,编制一个程序求S=S1+S2+S3+S4+S5+S20的值。(答案:2097130) set talk off cleardecl s(20)w=1s(1)=1for n=2 to 20 s(n)=s(n-1)+2(n-1) w=w+s(n)endfor?wset talk onreturn第二种方法:set talk offclears=0for x=1 to 20s=s+2x-1endfor?x24、 1=1,S2=1+3,S3=1+3+5,S4=1+3+5+7,SN=1+3+5+7+(2N-1),N为正整数。编程求S1+S2+S3+S4+SN的值=20000 ?n-1 exit endifendforset talk onreturn25、 S=1*2+2*3+3*4+4*5+n*(n+1),当和大于2000001时退出程序,求此时的n的值。(答案:181) set talk off cleardecl f(3600)w=0for n=1 to 3600 f(n)=n*(n+1) w=w+f(n) if w=2000001 ?n exit endifendforset talk onreturn第二种方法:set talk offclears=0n=1do while s=2000001 s=s+n*(n+1)n=n+1enddo?n-1set talk onreturn26、 知: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.6180) set talk off cleardecl f(50)f(1)=1for n=2 to 50 f(n)=1/(1+f(n-1)endfor?round(f(50),3)set talk onreturn27、 n=50时,求下列级数和:S=1/(1*2)+1/(2*3)+1/(n*(n+1)。要求:按四舍五入的方式精确到小数点后第四位。(答案:0.9804) set talk off cleardecl f(50)s=0for n=1 to 50 f(n)=1/(n*(n+1) s=s+f(n)endfor?sset talk onreturn28、 当n的值为25时,计算下列公式的值。s=1+1/1!+1/2!+1/3!+1/n!。要求:按四舍五入的方式精确到小数点后第四位。(答案:2.7183) set talk off cleardecl f(26)s=2f(2)=1for n=3 to 26 f(n)=f(n-1)*(n-1) s=s+1/f(n)endfor?sset talk onreturn29、 劳展开式为:Sin X=X/1!-X3/3!+X5/5!-X7/7!+,按台劳展开式计算当X取值为/5时SinX的近似值(前20项)。要求:按四舍五入的方式精确到小数点后第二位。(答案:0.59) set talk off cleardecl f(20)s=pi()/5f(1)=1for n=2 to 20 f(n)=f(n-1)*(2*n-1)*(2*n-2) s=s+(pi()/5)(2*n-1)/f(n)*(-1)(n+1)endfor?round(s,2)set talk onreturn30、 方程8x-5y=3,在|x|=150, |y| y z),则(x,y,z)称为方程的一个解。试求方程的整数解(包括负整数解)的个数。方程的所有整数解中|x|+|y|+|z|的最小值。(答案:62,67)set talk offclean=0m=1000for x=-55 to 55for y=-55 to x-1for z=-55 to y-1if x2+y2+z2=552n=n+1 if abs(x)+abs(y)+abs(z)m m=x+y+z endifendifendforendforendfor?mset talk onretu33、 已知正整数A,B(假定AB),满足A*B=5432,求S=A+B的最小值。(答案:153)set talk offcleat=5432m=t+1for a=1 to int(sqrt(t)b=int(t/a)if a*b=t and a+bmm=a+bendifendfor?mset talk onretuC语言程序答案#include stdio.h#include math.hvoid main() int t,m,i,a,b; t=5432; m=t+1; for(a=1;a=(int)sqrt(t);a+) b=(int)(t/a); if(a*b=t & a+bm) m=a+b;printf(%dn,m); 34、 已知AB,且A,B为正整数, 求满足条件AB=716699且A+B最小的B值。(答案:1273)set talk offclearmin=716699+1for a=1 to sqrt(716699)b=716699/aif b=int(b) and a+bminmin=a+bt=bendifendfor?t,min35、 求方程X3-2X-5=0在区间1.5,2.5上的一个实根。 要求:按四舍五入的方式精确到小数点后第二位。(答案:2.09)set talk offcleae=0.1for x=1.5 to 2.5 step 0.01if abs(x3-2*x-5)ee=abs(x3-2*x-5)x0=xendifendfor?x0set talk onretu36、 求方程X2-3*X+1=0在区间(0,1)内的解。要求:按四舍五入的方式精确到小数点后第二位。set talk offcleae=0.1for x=0 to 1 step 0.01if abs(x2-3*x+1)ee=abs(x2-3*x+1)x0=xendifendfor?x0set talk onretu37、 统计100,10000之间有多少个这样的整数,其各位数字之和能被7整除。(答案:1408)set talk offclean=0for x=100 to 10000a=int(x/10000)b=mod(int(x/1000),10)c=mod(int(x/100),10)d=mod(int(x/10),10)e=mod(x,10)if mod(a+b+c+d+e),7)=0n=n+1endifendfor?nset talk onretu38、 设某四位数的千位数字的平方与十位数字的平方之和等于百位数字的立方与个位数字的立方之和,例如,对于四位数:3201, 32+02=23+13,试问这样的四位数有多少个?(答案:21)set talk offclean=0for x=1000 to 9999a=int(x/1000)b=mod(int(x/100),10)c=mod(int(x/10),10)d=mod(x,10)if a2+c2=b3+d3n=n+1endifendfor?nset talk onretu39、 设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,试问所有这样的四位数之和是多少?(答案:1078289)set talk offcleas=0for x=1000 to 9999a=int(x/1000)b=mod(int(x/100),10)c=mod(int(x/10),10)d=mod(x,10)if a+c=b*ds=s+xendifendfor?sset talk onretu40、 设有十进制数字a、b、c、d和e,求满足下列式子:abcde=dcba(a0,e0,e1)的与最小四位数abcd相对应的e值。(答案:9)set talk offcleafor a=1 to 9for b=0 to 9for c=0 to 9for d=0 to 9x=a*1000+b*100+c*10+dy=a+b*10+c*100+d*1000for e=2 to 9if x*e=y?x,eretuendifendforendforendforendforendforset talk onretu41、 有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求这种三位数共有多少个? (答案:4)set talk offclean=0for x=100 to 999a=int(x/100)b=mod(int(x/10),10)c=mod(x,10)if a#b and b#c and a#c and x=a3+b3+c3n=n+1endifendfor?nset talk onretu42、 若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于 7396=862,且7+3+9+6=25=52,则称7396是“四位双平方数”。求所有“四位双平方数”的个数。(答案:17)set talk offclean=0for x=1000 to 9999a=int(x/1000)b=mod(int(x/100),10)c=mod(int(x/10),10)d=mod(x,10)s=a+b+c+dif mod(sqrt(s),1)=0 and mod(sqrt(x),1)=0n=n+1endifendfor?nset talk onretu43、 求正整数100,999中的水仙花数的和,(若三位数ABC=A3+B3+C3,则称ABC为水仙花数,例如数153,13+53+33=153,则153为水仙花数)。(答案:1301)set talk offcleas=0for x=100 to 999a=int(x/100)b=mod(int(x/10),10)c=mod(x,10)if x=a3+b3+c3s=s+xendifendfor?sset talk onretu44、 回文数是指正读和反读都一样的正整数。例如3773是回文数。求出1000,9999以内的回文数是6的倍数的回文数的个数。(答案:13)set talk offclean=0for x=1000 to 9999a=int(x/1000)b=mod(int(x/100),10)c=mod(int(x/10),10)d=mod(x,10)if a=d and b=c and x%6=0n=n+1endifendfor?nset talk onretu45、 编程求取:从6开始的前6个同构数的和(若某数与其本身的平方数低位部分相等,则称之同构数,如:6,其平方数为36,则6为一个同构数)。(答案:10484)set talk offclean=0x=6s=0do while .t. l=len(ltri(str(x) if righ(str(x2),l)=ltri(str(x) n=n+1 if n=B,求所有小于或等于100(即:A=100,BBC,且要求A,B,C均小于或等于100,求满足倒勾股数公式的各组正整数(A,B,C)中C值的和是多少?(答案:180)set talk offcleas=0for a=1 to 100for b=1 to a-1for c=1 to b-1if b2*c2+a2*c2=a2*b2s=s+cendifendforendforendfor?sset talk onretu50、 某些分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子个位数和分母十位数同时去掉,所得结果正好等于原分数约分后的结果,例如16/64=1/4,求满足上述条件的所有真分数个数。(答案:48)set talk offclean=0for a=10 to 99for b=a+1 to 99if a*mod(b,10)=b*int(a/10)n=n+1endifendforendfor?nset talk onretu51、 某些分数的分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分子跟原分子相等。例如,63/84=(6+3)/(8+4)。试求所有具有这样特点的真分子(非约简真分数)的分母之和。(答案:6756)set talk offcleas=0for a=10 to 99for b=a+1 to 99if a*(mod(b,10)+int(b/10)=b*(int(a/10)+mod(a,10)s=s+bendifendforendfor?sset talk onretu52、 把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,问有多少种方案? (答案:80)set talk offclean=0for a=8 to 100for b=8 to 50for c=8 to 20if a+b*2+c*5=100n=n+1endifendforendforendfor?nset talk onretu53、 50元兑换成5元、2元和1元的计算方法有多少种。(答案:146)set talk offclean=0for a=0 to 50for b=0 to 25for c=0 to 10if a+b*2+c*5=50n=n+1endifendforendforendfor?nset talk onretu54、 从100米高度落下一球,每次落地后反弹高度为上一次下落高度的3/4,求该球第10次落地时,前后所经过的路径长度. (答案:654.9492)set talk offh=100s=100for n=2 to 10h=h*3/4s=s+2*hendfor?round(s,4)55、 设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番? (答案:19)set talk offm=1for n=1 to 1000m=m*1.08if m=4exitendifendfor?n56、 猴吃桃:有一天小猴子摘下了若干个桃子,当即吃掉一半,还觉得不过瘾,又多吃了一个。第二天接着吃了剩下的桃子中的一半,仍不过瘾,又多吃了一个。以后每天都是吃尚存桃子的一半零一个。到第30天早上小猴子再去吃桃子时,看到只剩下一个桃子了。问小猴子第一天共摘下了多少个桃子。(答案:1610612134)set talk offclean=1for t=29 to 1 step -1n=2*(n+1)endfor?nset talk onretu57、 已知:非等腰三角形最长边是60,其它两边的长度都是正整数,且三边之和能被3整除,试编程求取这类三角形的个数(注意:两边的长度交换构成的三角形算作同一个三角形,如:其它两边的长度为30,40的三角形与长度为40,30的三角形视为同一个三角形)。(答案:271)set talk offclean=0for a=1 to 59for b=1 to a-1if a+b60 and (a+b+60)%3=0n=n+1endifendforendfor?nset talk onretu58、 将自然数至按顺时针围成一圈,首先取出,然后顺时针方向按步长=30取数(已取出的数不再参加计数),直至所有的数均取完为止,最后一个取出的数是多少。(答案:86)set talk offcleadime a(100)a(1)=.t.n=1bs=0do while n100for i=2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生药学试题库及答案
- 2025年车站客运考试题库及答案
- 2025年航空航天行业飞行员执照申请试题及答案
- 外贸销售合同模板
- 组织工作者面试题库及答案
- 高空外沿涂料施工合同(3篇)
- 2025公务员转任面试题目及答案
- 夫妻共同房产共有权确立与婚姻关系维护协议
- 可转换公司债券发行保证协议
- 农牧局岗位专业试题及答案
- 东航空乘英语考试题目及答案
- 2025绿植租赁协议(简易版)
- T-AOPA0062-2024电动航空器电推进系统动力电机控制器技术规范
- 《三级工学一体化师资培训》课件-第四课:教学活动策划
- 2024年一级建造师《民航机场工程管理与实务》真题及答案
- 2025年秋季开学典礼诗歌朗诵稿:纪念抗战胜利八十周年
- 适老化家装设计
- 第一 单元 富强与创新 单元检测题(含答案)-2025-2026学年 九年级上册道德与法治
- 2025秋苏教版(2024)小学科学二年级上册(全册)课时练习及答案(附目录)
- 2025年新疆投资发展集团有限责任公司人员招聘笔试备考题库及答案详解(新)
- 科级领导干部任前廉政法规知识考试题(附答案)
评论
0/150
提交评论