资源描述:
《计算机题库编程题讲解.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计编程习题讲解一些实际问题的解决取数字问题数列问题分硬币问题因子、完数问题解简单方程勾股数、弦数问题素数问题其他取数字问题设某四位数的千位数字平方与十位数字的平方之和等于百位数字的立方与个位数字的立方之和,例如,对于四位数:3201,3^2+0^2=2^3+1^3。试问所有这样的四位数之和是多少?(97993)分析:关键在于怎么求出一个四位数的各位上的数字。main(){inti,a,b,c,d;longs=0;for(i=1000;i<=9999;i++){a=i/1000;b=i%1000/100;c=i%100/10;d=i%10;if(a*a+c*c==b*b
2、*b+d*d*d)s=s+i;}printf("Result:%ld",s);}取数字问题求五位数各位数字的平方和为100的最大的五位数。(94111)main(){longx;inta,b,c,d,e;for(x=99999;x>10000;x--){a=x/10000;b=x%10000/1000;c=x%1000/100;d=x%100/10;e=x%10;if(a*a+b*b+c*c+d*d+e*e==100)break;}printf(“Max:%ld”,x);}取数字问题有一个三位数满足下列条件:(1)此三位数的三位数字各不相同;(2)此三位数等于它的各位数字
3、的立方和。试求所有这样的三位数之和。(1301)有一个三位数满足下列条件:(1)此三位数的三位数字各不相同;(2)此三位数等于它的各位数字的立方和。试求所有这样的三位数中最大的一个是多少?(407)有一个三位数满足下列条件:(1)此三位数的三位数字各不相同;(2)此三位数等于它的各位数字的立方和。试求这种三位数共有多少个?(4)设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,试问所有这样的四位数之和是多少(1078289)回文数是指正读和反读都一样的正整数。求出[1000,9999]以内的所有回文数的个数。(90)数列问题
4、求2+4+6+8+…+60的和。main(){intx,sum=0;for(x=2;x<=60;x+=2)sum+=x;printf(“sum=%d”,sum);}数列问题当n的值为50时,计算下列公式之值:t=1+1/22+1/32+…+1/n2(按四舍五入的方式精确到小数点后第四位)。(1.625)分析:仍然采用累加法,n从1变化到50,每次将1/n2加到总和当中去。注意整个计算过程中数据的类型。main(){intn;floatt=0;for(n=1;n<=50;n++)t=t+1.0/(n*n);printf(“tis:%.4f",t);}数列问题已知:s=2/1
5、+3/2+4/3+…+(n+1)/n,求s不超过50的最大值(按四舍五入的方式精确到小数点后第三位)。(49.395)分析:当n=1,s=2/1当n=2,s=2/1+3/2当n=3,s=2/1+3/2+4/3……一直到某一项s≥50,那么我们不再累加。main(){intn;floats=0,k;for(n=1;s<=50;n++){k=s;s+=1.0*(n+1)/n;}printf("Result:%.3f“,k);}已知f(0)=f(1)=1f(2)=0f(n)=f(n-1)-2*f(n-2)+f(n-3)(n>2)求f(0)到f(50)中的最大值(598325)分析:
6、类似菲波拉切数列问题的解决方法,采用递推法(参考教材P129)main(){inti;longf0,f1,f2,max;f0=1,f1=1,f2=0,max=0;for(i=1;i<17;i++){f0=f2-2*f1+f0;f1=f0-2*f2+f1;f2=f1-2*f0+f2;if(max7、.691)当n的值为25时,计算下列公式的值:s=1+1/1!+1/2!+1/3!+…+1/n!按四舍五入的方式精确到小数点后第四位。(2.7183)利用格里高利公式:α/4=1-1/3+1/5-1/7+1/9-1/11+…-1/99,求α的值。要求:按四舍五入的方式精确到小数点后第二位。(3.14)已知f(0)=1,f(1)=2,f(2)=3;f(n)=f(n-1)+2f(n-2)-5f(n-3),求f(0)+f(1)+…f(30)。(-750874)已知Fibonacci数列