省考C语言程序设计题附答案
更新时间:2024-05-29 11:20:01 阅读量: 综合文库 文档下载
1.
1.素数
[100,999]范围内同时满足以下两个条件的十进制数. ⑴其个位数
字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数; 求有多少个这样的数? 15
#include
for(i=100;i<=999;i++) { int i,n=0,a,b,c; { a=i/100; b=i0/10; c=i;
if ((b+c)==a&&prime(i))
1
n++; }
printf(\} 2.
[300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位数
字与十位数字之和除以10所得的余数是百位数字 ;⑵该数是素数;求满足上述条件的最大的三位十进制数。 3.
761
除1和它本身外,不能被其它整数整除的正整数称为素数(注:1
不是素数,2是素数)。若两素数之差为2 ,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。 #include
2
22
{ int i,n=0;
for(i=31;i<=599;i++)
if (prime(i)&&prime(i+2)) n++; printf(\} 4.
数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数
(素数对)的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求6744可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对) #include
3
144
n=0;
for(i=31;i<=599;i++)
if (prime(i)&&prime(i+2)) n++; printf(\} 5.
两个素数之差为2,则称这两个素数为双胞胎数。求出[200,1000]
1764
之间的最大一对双胞胎数的和。 6.
一个素数(设为p)依次从最高位去掉一位,二位,三位,……,
若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 39 7.
德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个
素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求1234可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)
25
8.求[100,900]之间相差为12的素数对(注:要求素数对的两个素数均在该范围内)的个数。 #include
4
50
if(x<2) return(0); k=sqrt(x); for(i=2;i<=k;i++) if (x%i==0) break; if (i>k) return(1); else return(0); } main() { int i,n=0;
for(i=100;i<=900-12;i++) if (prime(i)&&prime(i+12)) n++; printf(\} 9.
一个素数(设为p)依次从最高位去掉一位,二位,三位,……,
若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的和。
21645
#include
5
{ a=i/1000; b=i00/100; c=i0/10; d=i;
if (a*a+c*c==b*b*b+d*d*d) k=k+i; }
printf(\}
22. 设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512,9+1=5*2,试问所有这样的四位数之和是多少?
1078289
23. 有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求所有这样的三位数之和。
1301
24. 求[1,999]之间能被3整除,且至少有一位数字是5的所有正整数的个数。 main() {int i,k=0; int a,b,c;
for(i=1;i<=999;i++) { a=i/100; b=i0/10;
11
91
c=i;
if ((i%3==0)&&(a==5||b==5||c==5)) k=k+1; }
printf(\}
25. 有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求所有这样的三位数中最大的一个是多少? main() {int i,max=0; int a,b,c;
for(i=100;i<=999;i++) { a=i/100; b=i0/10; c=i;
if ((a*a*a+b*b*b+c*c*c==i)&&(a!=b&&b!=c&&a!=c)) if (max
printf(\}
26. 有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)
12
407
此三位数等于它的各位数字的立方和。试求这种三位数共有多少个?
4
94111
27. 求五位数各位数字的平方和为100的最大的五位数。
28. 所谓“水仙花数”是指一个三位数,其各位数字的三次方之和等于该数本身,例如:153=1^3+3^3+5^3,故153是水仙花数,求[100,999]之间所有水仙花数之和。 main() {int i,k=0; int a,b,c;
for(i=100;i<=999;i++) { a=i/100; b=i0/10; c=i;
if ((a*a*a+b*b*b+c*c*c==i)) k=k+i; }
printf(\}
29. 设某四位数的各位数字的平方和等于100,问共有多少个这种四位数? 49
30. 回文数是指正读和反读都一样的正整数。例如3773是回文数。求出[1000,9999]以内的所有回文数的个数。 main()
13
1301
90
{long i,k=0; int a,b,c,d;
for(i=1000;i<=9999;i++) { a=i/1000; b=i00/100; c=i0/10; d=i;
if (d*1000+c*100+b*10+a==i) k=k+1; }
printf(\}
3. 分硬币
31. 把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,问有多少种方案? #include
if (i+2*j+5*k==100) s=s+1; printf(\}
14
80
32. 50元的整币兑换成5元、2元和1元币值(三种币值均有、缺少一种或两种都计算在内)的方法有多少种。
146
33. 50元的整币兑换成5元、2元和1元币值(要求三种币值均有)的方法有多少种。
106
34. 马克思曾经做过这样一道趣味数学题:有30个人在一家小饭店里用餐,其中有男人、女人和小孩,每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,共花去50先令。如果要求男人、女人和小孩都有人参与,试求有多少种方案分配男人、女人和小孩的人数。 9 main() {int i,k=0; int a,b,c;
for(a=1;a<=30;a++) for(b=1;b<=30;b++)
if ((a*3+b*2+(30-a-b)==50)&&(a+b<30)) k++; printf(\}
4. 勾股、弦数
35. A,B,C是三个小于或等于100正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数。求130B>C的倒勾股数有多少组。
main() /*p2_2*/ {int i,a,b,c,n=0; for(c=1;c<=50;c++)
15
1
48 已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好能被其因子数8整除,求正整数[10,100]之间有多少个正整数能被其因子的个数整除。 #include
for(i=1;i<=x;i++) if (x%i==0) s=s+1; if (x%s==0) k++; }
printf(\}
6.(数列)四舍五入
12
49 当m的值为50时,计算下列公式的值: T=1-1/2-1/3-1/4-…-1/m 要求:按四舍五入的方式精确到小数点后第四位。 50 当m的值为50时,计算下列公式之值: t=1+1/2^2+1/3^2+…+1/m^2
(按四舍五入的方式精确到小数点后第四位)。 main() {int m; float t=0;
21
-2.4992
1.6251
for(m=1;m<=50;m++) t=t+1.0/(m*m); printf(\}
51 当n=100时,计算S=(1-1/2)+(1/3-1/4)+??+(1/(2n-1)-1/(2n))的值。.
要求:按四舍五入的方式精确到小数点后第三位。 52 当n的值为25时,计算下列公式的值: s=1+1/1!+1/2!+1/3!+…+1/n!
要求:按四舍五入的方式精确到小数点后第四位。
2.7183 0.691
53 利用格里高利公式:α/4=1-1/3+1/5-1/7+1/9-1/11+…-1/99,求α的值。要求:按四舍五入的方式精确到小数点后第二位。 main() {int i,b=-1; float a=0;
for(i=1;i<=99;i=i+2) { b=-b; a=a+b*1.0/i; }
printf(\ }
54 求1/(1*2)+1/(2*3)+1/(3*4)+....+1/(N*(N+1))的值,N=20, 要求:按四舍五入的方式精确到小数点后第二位。
0.95 3.12
55 求500以内(含500)能被5或9整除的所有自然数的倒数之和。
22
按四舍五入的方式精确到小数点后第二位。 1.48
56 求S=1/2+2/3+3/5+5/8+……的前30项的和(注:该级数从第二项开始,其分子是前一项的分母,其分母是前一项的分子与分母的和)。要求:按四舍五入的方式精确到小数点后第二位。
18.46
57 设S(n)=1-1/3+1/5-1/7+…1/(2n-1),求S(100)的值,要求S(100)按四舍五入方式精确到小数点后4位。
0.7829
58 当n=50时,求下列级数和:S=1/(1*2)+1/(2*3)+?+1/(n*(n+1)) 要求:按四舍五入的方式精确到小数点后第四位。
0.9804
59 计算y=1+2/3+3/5+4/7+…+n/(2*n-1)的值, n=50, 要求:按四舍五入的方式精确到小数点后第二位。
26.47
60 计算Y=X/1!-X^3/3!+X^5/5!-X^7/7!+……前20项的值(已知:X=2)。要求:按四舍五入的方式精确到小数点后第二位。
0.91
61 求数列:2/1,3/2,5/3,8/5,13/8,21/13,…… 前50项之和(注:此数列从第二项开始,其分子是前一项的分子与分母之和,其分母是前一项的分子)。(按四舍五入的方式精确到小数点后第二位) main()
{int i,fz=2,fm=1,temp; float s=0; for(i=1;i<=50;i++) { s=s+(float)fz/fm; temp=fz; fz=fz+fm; fm=temp; }
23
83.24
printf(\ }
62 已知:A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ……, 求A50.(按四舍五入的方式精确到小数点后第三位)。
0.618
63 已知:Sn=2/1+3/2+4/3+…+(n+1)/n, 求Sn不超过50的最大值(按四舍五入的方式精确到小数点后第三位)。 7.平方数
49.395
64 若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于7396=86^2,且7+3+9+6=25=5^2,则称7396是“四位双平方数”。求所有“四位双平方数”之和。 #include
for(i=1000;i<=9999;i++) { a=i/1000; b=i00/100; c=i0/10; d=i; k=a+b+c+d;
if ((int)sqrt(i)==sqrt(i)&&(int)sqrt(k)==sqrt(k)) s=s+i; } printf(\ }
65 自然数对是指两个自然数的和与差都是平方数,如8和17的和
24
81977
8+17=25与其差17-8=9都是平方数,则称8和17是自然数对(8,17)。假定(A,B)与(B,A)是同一个自然数对且假定A>=B,求所有小于或等于100(即:A<=100,B<=100,A<>B,A和B均不为0)的自然数对中B之和。1160 #include
{ if ((int)sqrt(a+b)==sqrt(a+b)&&(int)sqrt(a-b)==sqrt(a-b)) { s=s+b;
printf(\ } }
66 若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于7396=86^2,且7+3+9+6=25=5^2,则称7396是“四位双平方数”。若把所有“四位双平方数”按升序排列,求前10个“四位双平方数”的和。
29690
67 所谓“同构数”是指这样一个数,它出现在它的平方数的右侧,例如5的平方是25,25的平方是625,故5和25都是同构数,求[2,1000]之间所有同构数之和。 #include
for(i=2;i<=1000;i++)
25
1113
for(j=1;j<=6;j++)
if (i*i%((long)pow(10,j))==i) { s=s+i;
printf(\ }
68 自然数对是指两个自然数的和与差都是平方数,如8和17的和8+17=25与其差 17-8=9都是平方数,则称8和17是自然数对(8,17)。假定(A,B)与(B,A)是同一个自然数对且假定A>=B,求所有小于或等于100(即:A<=100,B<=100,A<>B,A和B均不为0) 的自然数对中A-B之差的和。
8.Fibonaci(累加数列)
69 已知 f(n)=f(n-1)+2f(n-2)-5f(n-3),f(0)=1,f(1)=2,f(2)=3,求f(0)+f(1)+…f(30)。
-750874
509
70 已知 f(0)=f(1)=1 f(2)=0 f(n)=f(n-1)-2*f(n-2)+f(n-3) (n>2) 求f(0)到f(50)中的最大值 598325
71 已知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 n>2
试求F(2)+F(4)+F(6)+??+F(50)值。 提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。20365011073 72 已知Fibonacci数列:1,1,2,3,5,8,??,它可由下面公式表述:
26
F(1)=1 if n=1 F(2)=1 if n=2 F(n)=F(n-1)+F(n-2) if n>2
试求F(50)值。 提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。
12586269025
73 斐波那契数列的前二项是1,1,其后每一项都是前面两项之和,求:10000000以内最大的斐波那契数?
9227465
74 数列 E(1)=E(2)=1
E(n)=(n-1)*E(n-1)+(n-2)*E(n-2) (n>2)
称为E数列,每一个E(n),(n=1,2,?)称为E数。求[1,30000]之内E数的个数。
75 已知 f(0)=f(1)=1
f(2)=0 f(n)=f(n-1)-2f(n-2)+f(n-3) ( n>2 )
求f(0)到f(50)的所有51个值中的最大值(或最小值) '598325 ('-288959)
76 已知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 n>2 试求F(1)+F(3)+F(5)+??+F(49)值。
提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语
27
8
言的递归深度。
12586269025
main()
{ float f[50],*p,s; s=0; f[1]=1; f[2]=1;
for(p=f+3;p<=f+49;p++) {*p=*(p-1)+*(p-2); } for(p=f+1;p<=f+49;p+=2) { s=s+*p; }
printf(\ main() {
double f[50],s; int i; s=1; f[1]=1; f[2]=1;
for(i=3;i<=49;i++) {f[i]=f[i-1]+f[i-2];} for(i=1;i<=49;i+=2)
} 28
{ s=s+f[i]; }
printf(\ }
77 已知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 n>2
试求F(45)值。 提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。
1134903170
78 已知一个数列的前三项为0,0,1,以后各项都是其相邻的前三项之和,求该数列前30项之和。
18947744
79 设S=1+1/2+1/3+…1/n,n为正整数,求使S不超过10(S≤10)的最大的n。
80 已知S1=2, S2=2+4, S3=2+4+6, S4=2+4+6+8,S5=2+4+6+8+10,…,求 S=S1+S2+S3+S4+S5+…+S20的值。 main()
{int i,j,s=0,num=0; for(i=1;i<=20;i++) {s=s+2*i;
29
12367
3080
num=num+s; }
printf(\ } 9.a,b,c,d,e类
81 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的所有四位数abcd的和。
3665
82 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的最大四位数abcd的值。
1999
83 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的四位数abcd的个数。 main()
{int i,a,b,c,d,e,k=0; for(i=1000;i<=9999;i++) { a=i/1000; b=i00/100; c=i0/10; d=i;
for(e=2;e<=9;e++)
if (i*e==b*1000+c*100+d*10+e) k=k+1; } printf(\ }
84 有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a
30
2
正在阅读:
省考C语言程序设计题附答案05-29
物化实验复习题04-15
滚来滚去的小土豆作文350字06-14
17秋个人理财形考答案 - 图文01-05
初中地理,中考,总复习,全册,知识点归纳 - 图文03-21
事局规划计划年度工作总结及下年工作思路08-08
尸检委托书06-11
精品在全总十四届十三次主席团(扩大) 会议上的讲话03-29
高中化学优质教学案例分析02-15
2017年北京小升初语文分班考区统考题03-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 答案
- 语言
- 礼记部分译文
- 湖北省黄冈中学2011-2012学年高一下学期期末考试数学文试题
- 欧陆590直流调速器组态软件Config_ED_Lite中文手册
- 市场调查与预测
- 万明习专家对感测技术基础教材的书评
- 关于常住户口“公共户”设立与日常管理工作通知
- 立体车库毕业设计论文 - 图文
- 拥抱春天播种绿色(6.1)班主题班队
- 《梁祝》剧本
- 基于单片机的升降控制系统设计 - 图文
- 历年马克思试题及答案 - 图文
- 新人教版三年级上册解决问题练习
- 新课标人教版一年级数学下册教案
- 2018中考物理试题分类汇编:专题12 滑动摩擦力
- 作家刘维嘉在人生旅途
- 浙江省水利工程管理考核办法
- 微观经济学-作业题
- 福建省连城一中2016届高三历史模拟试卷(新)
- 《电工电子技术基础》试题 修改版
- 百灵达 ULTRA-CURVE PRO DSP8024 使用说明