2022年省考C语言程序设计题附答案 .pdf
《2022年省考C语言程序设计题附答案 .pdf》由会员分享,可在线阅读,更多相关《2022年省考C语言程序设计题附答案 .pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1.素数1. 100,999范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10 所得的余数是百位数字;该数是素数; 求有多少个这样的数?15 #include int prime(int x) int i,k; if(x2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() int i,n=0,a,b,c; for(i=100;i=999;i+) a=i/100; b=i%100/10; c=i%10; if (b+c)%10=a&prime(i) 名师资料总结 - - -精品资料欢
2、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 36 页 - - - - - - - - - 2 n+; printf(Total is:%d,n); 2. 300,800范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10 所得的余数是百位数字;该数是素数;求满足上述条件的最大的三位十进制数。761 3. 除 1 和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数, 2 是素数) 。若两素数之差为 2 ,则称两素数为双胞胎数,问31,601 之间有多少对双胞胎数。22 #
3、include int prime(int x) int i,k; if(x2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 36 页 - - - - - - - - - 3 int i,n=0; for(i=31;i=599;i+) if (prime(i)&prime(i+2) n+; printf(Total is:%dn,n)
4、; 4. 数学家哥德巴赫曾猜测:任何大于6 的偶数都可以分解成两个素数(素数对)的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7 ,10=5+5 ,即 10 可以分解成两种不同的素数对。试求 6744 可以分解成多少种不同的素数对(注:A+B 与 B+A 认为是相同素数对)144 #include int prime(int x) int i,k; if(x2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() int i,n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
5、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 36 页 - - - - - - - - - 4 n=0; for(i=31;i=599;i+) if (prime(i)&prime(i+2) n+; printf(Total is:%dn,n); 5. 两个素数之差为2,则称这两个素数为双胞胎数。 求出200,1000之间的最大一对双胞胎数的和。1764 6. 一个素数(设为p)依次从最高位去掉一位,二位,三位,若得到的各数仍都是素数(注:除 1 和它本身外,不能被其它整数整除的正整数称为素数, 1 不是素数, 2 是素数) ,且数 p
6、 的各位数字均不为零,则称该数 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 的素数对(注:要求素数对的两
7、个素数均在该范围内)的个数。50 #include int prime(int x) int i,k; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 36 页 - - - - - - - - - 5 if(x2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() int i,n=0; for(i=100;i=900-12;i+) if (prime(i)&prime(i+12) n+;
8、 printf(Total is:%dn,n); 9. 一个素数(设为 p)依次从最高位去掉一位,二位,三位,若得到的各数仍都是素数(注:1 不是素数 ), 且数 p 的各位数字均不为零,则称该数 p 为逆向超级素数。例如, 617,17,7 都是素数,因此 617是逆向超级素数,但尽管503,03,3 都是素数,但它不是逆向超级素数,因为它包含有零。试求100,999 之内的所有逆向超级素数的和。21645 #include int prime(int x) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
9、 - - - - - 第 5 页,共 36 页 - - - - - - - - - 6 int i,k; k=sqrt(x); for(i=2;ik) return(1); else return(0); main() int i,s=0; int prime(int x); for(i=100;i=999;i+) if (prime(i)&prime(i%100)&prime(i%10) if (i%100/10!=0)&(i%10!=0)&(i%10!=1) s=s+i; printf(Total is:%dn,s); 10. 一个素数(设为 p)依次从最高位去掉一位,二位,三位,若得到的
10、各数仍都是素数(注:1 不是素数, 2 是素数 ),且数 p 的各位数字均不为零, 则称该数 p 为逆向超级素数。 例如,617,17,7 都是素数,因此 617 是逆向超级素数,但尽管503,03,3 都是素数,但它不是逆向超级素数,因为它包含有零。试求100,999 之内的所有逆向超级素数从大到小数的第10 个素数是多少?797 11. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求所有两位绝对素数的和。429 12. 在200,900范围 内同时满足以下两个条件的十进制数:其个位名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
11、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 36 页 - - - - - - - - - 7 数字与十位数字之和除以10 所得的余数是百位数字 ; 该数是素数;问有多少个这样的数?14 13. 一个素数,依次从个位开始去掉一位,二位.,所得的各数仍然是素数,称为超级素数。求100,999 之内超级素数的个数。14 #include int prime(int x) int i,k; if(x2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() int
12、i,s=0; for(i=200;i=999;i+) if (prime(i)&prime(i/100)&prime(i/10) s+; printf(Total is: %dn,si); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 36 页 - - - - - - - - - 8 14. 若两个连续的自然数的乘积减1 后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于8*9-1=71 , 因此, 8 与 9是友数对, 71 是友素数。求 100,2
13、00之间的第 10 个友素数对所对应的友素数的值(按由小到大排列) 。17291 #include int prime(int x) int i,k; if(x2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() int i,s=0; for(i=100;i=200;i+) if (prime(i*(i+1)-1) s+; if (s=10) break; printf(Total is:%dn,i*(i+1)-1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
14、 - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 36 页 - - - - - - - - - 9 15. 求2,400中相差为 10 的相邻素数对的对数。5 16. 若两个连续的自然数的乘积减1 后是素数,则称此两个连续自然数为友数对,该素数称为友素数。例如,由于8*9-1=71 , 因此, 8 与 9是友数对, 71 是友素数。求 50,150之间的友数对的数目。38 17. 若两个自然连续数乘积减1 后是素数 ,则称此两个自然连续数为友数对,该素数称为友素数 ,例:2*3-1=5, 因此 2 与 3 是友数对 ,5 是友素数 ,求40,119之间友素数对
15、的数目。30 18. 梅森尼数是指能使2n-1 为素数的数 n,求1,21范围内有多少个梅森尼数?7 #include int prime(long x) long k; long i; if(i2) return(0); k=sqrt(x); for(i=2;ik) return(1); else return(0); main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 36 页 - - - - - - - - - 10 int i,s=0; for(i=1;
16、i=21;i+) if (prime(long)(pow(2,i)-1)&(long)(pow(2,i)-1)!=1)&(long)(pow(2,i)-1)!=0) s+; printf(nTotal is:%d,%ldn,s,(long)(pow(2,i)-1); 2. 取数字19. 300,800范围内同时满足以下两个条件的十进制数. 其个位数字与十位数字之和除以10 所得的余数是百位数字;该数是素数;求满足上述条件的最大的三位十进制数。761 20. 求符合下列条件的四位完全平方数(某个正整数 A 是另一个正整数B 的平方 ,则称 A 为完全平方数 ), 它的千位数字与十位数字之和等于百
17、位数字与个位数字之积,例如,3136=562, 且 3+3=1*6 故 3136 是所求的四位完全平方数 . 求其中最大的一个数。7921 21.设某四位数的千位数字平方与十位数字的平方之和等于百位数字的立方与个位数字的立方之和,例如,对于四位数:3201 ,32+02=23+13 ,试问所有这样的四位数之和是多少?97993 main() long i,k=0; int a,b,c,d; for(i=1000;i=9999;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1
18、0 页,共 36 页 - - - - - - - - - 11 a=i/1000; b=i%1000/100; c=i%100/10; d=i%10; if (a*a+c*c=b*b*b+d*d*d) k=k+i; printf(okThe num is:%ldn,k); 22. 设某四位数的千位数字与十位数字的和等于百位数字与个位数字的积,例如,对于四位数:9512 ,9+1=5*2 ,试问所有这样的四位数之和是多少?1078289 23. 有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求所有这样的三位数之和。1301 24. 求1
19、,999之间能被 3 整除,且至少有一位数字是5 的所有正整数的个数。91 main() int i,k=0; int a,b,c; for(i=1;i=999;i+) a=i/100; b=i%100/10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 36 页 - - - - - - - - - 12 c=i%10; if (i%3=0)&(a=5|b=5|c=5) k=k+1; printf(The num is:%d,k); 25. 有一个三位数满足下列条件
20、: (1)此三位数的三位数字各不相同; (2)此三位数等于它的各位数字的立方和。试求所有这样的三位数中最大的一个是多少?407 main() int i,max=0; int a,b,c; for(i=100;i=999;i+) a=i/100; b=i%100/10; c=i%10; if (a*a*a+b*b*b+c*c*c=i)&(a!=b&b!=c&a!=c) if (maxi) max=i; printf(The num is:%dn,max); 26. 有一个三位数满足下列条件: (1)此三位数的三位数字各不相同; (2)名师资料总结 - - -精品资料欢迎下载 - - - - -
21、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 36 页 - - - - - - - - - 13 此三位数等于它的各位数字的立方和。试求这种三位数共有多少个?4 27. 求五位数各位数字的平方和为100 的最大的五位数。94111 28. 所谓“ 水仙花数 ” 是指一个三位数,其各位数字的三次方之和等于该数本身,例如: 153=13+33+53 ,故 153 是水仙花数,求 100,999之间所有水仙花数之和。1301 main() int i,k=0; int a,b,c; for(i=100;i=999;i+) a=i/1
22、00; b=i%100/10; c=i%10; if (a*a*a+b*b*b+c*c*c=i) k=k+i; printf(The num is:%dn,k); 29. 设某四位数的各位数字的平方和等于100,问共有多少个这种四位数? 49 30. 回文数是指正读和反读都一样的正整数。例如3773 是回文数。求出1000 ,9999 以内的所有回文数的个数。90 main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 36 页 - - - - - - - - -
23、 14 long i,k=0; int a,b,c,d; for(i=1000;i=9999;i+) a=i/1000; b=i%1000/100; c=i%100/10; d=i%10; if (d*1000+c*100+b*10+a=i) k=k+1; printf(okThe num is:%ldn,k); 3. 分硬币31. 把一张一元钞票 ,换成一分、二分和五分硬币 ,每种至少 8 枚,问有多少种方案 ? 80 #include main() int i,j,k,s=0; for(i=8;i=50;i+) for(j=8;j=50;j+) for(k=8;k=20;k+) if (i
24、+2*j+5*k=100) s=s+1; printf(The num is:%dn,s); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 36 页 - - - - - - - - - 15 32. 50 元的整币兑换成5 元、2 元和 1 元币值(三种币值均有、缺少一种或两种都计算在内)的方法有多少种。146 33. 50 元的整币兑换成5 元、2 元和 1 元币值(要求三种币值均有)的方法有多少种。106 34. 马克思曾经做过这样一道趣味数学题:有30 个人在一
25、家小饭店里用餐,其中有男人、 女人和小孩, 每个男人花了 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+b30) k+; printf(The num is:%dn,k); 4. 勾股、弦数35. A,B,C 是三个小于或等于100 正整数,当满足 1/A2+1/B2=1/C2关系时,称为倒勾股数。求13
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年省考C语言程序设计题附答案 2022 年省考 语言程序设计 答案
限制150内