资源描述:
《C语言竞赛练习题(答案).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言竞赛练习题目录一、穷举1、求最大数2、高次方数的尾数3、借书方案知多少6、抓交通肇事犯12、平分七筐鱼13、有限5位数14、除不尽的数15、一个奇异的三位数16、位反序数17、求车速18、阿姆斯特朗数19、完全数20、亲密数21、自守数22、回文数23、求具有abcd=(ab+cd)2性质的四位数24、求素数25、歌德巴赫猜想26、要发就发27、素数幻方28、百钱百鸡问题29、斯坦的数学题31、换分币32、三色球问题精选范本,供参考!33、马克思手稿中的数学题34、分数比较、分数之和35、将真分数分解为埃及分数36、列出真分数序列37、
2、计算分数的精确值38、谁是窃贼39、黑与白40、迷语博士的难题41、哪个大夫哪天值班42、区分旅客国籍43、谁家孩子跑最慢44、拉丁方45、填表格46、1~9分成1:2:3的三个3位数47、1~9组成三个3位的平方数48、由8个整数形成奇特的立方体49、减式还原50、乘式还原51、九位累进可除数52、魔术师的猜牌术53、约瑟夫问题、邮票组合54、和数能表示1~23的5个正整数55、可称1~40磅的4块砝码56、10个小孩分糖果57、小明买书61、四方定理63、尼科彻斯定理65、自动发牌66、黑白子交换67、常胜将军精选范本,供参考!二、计算4
3、、数制转换5、打鱼还是晒网7、该存多少钱8、怎样存钱利最大9、捕鱼和分鱼10、出售金鱼11、分数四则运算30、年龄几何58、波松瓦酒的分酒趣题59、波松瓦酒的分酒趣题60、角谷猜想62、卡布列克常数64、回文数的形成1.求最大数问555555的约数中最大的三位数是多少?*问题分析与算法设计根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。*程序说明与注释#include<
4、stdio.h>voidmain(){longi;intj;printf("Pleaseinputnumber:");scanf("%ld",&i);for(j=999;j>=100;j--)if(i%j==0){printf("Themaxfactorwith3digitsin%ldis:%d,",i,j);break;}精选范本,供参考!}*运行结果输入:555555输出:Themaxfactorwith3digitsin555555is:7771.高次方数的尾数求13的13次方的最后三位数*问题分析与算法设计解本题最直接的方法是:
5、将13累乘13次方截取最后三位即可。但是由于计算机所能表示的整数范围有限,用这种“正确”的算法不可能得到正确的结果。事实上,题目仅要求最后三位的值,完全没有必要求13的13次方的完整结果。研究乘法的规律发现:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。利用这一规律,可以大大简化程序。*程序说明与注释#includevoidmain(){inti,x,y,last=1;/*变量last保存求X的Y次方过程中的部分乘积的后三位*/printf("InputXandY(X**Y):");scanf("
6、%d**%d",&x,&y);for(i=1;i<=y;i++)/*X自乘Y次*/last=last*x%1000;/*将last乘X后对1000取模,即求积的后三位*/printf("Thelast3digitsof%d**%dis:%d",x,y,last%1000);/*打印结果*/}*运行结果InputXandY(X**Y):13**13Thelast3digitsof13**13is:253InputXandY(X**Y):13**20Thelast3digitsof13**20is:8012.借书方案知多少小明有五本新书,要
7、借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?*问题分析与算法设计本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。*程序说明与注释voidmain(){inta,b,c,count=0;printf("TherearediffrentmethodsforXMtodistributebooksto3readers:");for(a=1;a<=5;a
8、++)/*穷举第一个人借5本书中的1本的全部情况*/for(b=1;b<=5;b++)/*穷举第二个人借5本书中的一本的全部情况*/for(c=1;a!=b&&c<