趣味编程题整理与答案

上传人:l**** 文档编号:134487051 上传时间:2020-06-05 格式:DOC 页数:9 大小:44KB
返回 下载 相关 举报
趣味编程题整理与答案_第1页
第1页 / 共9页
趣味编程题整理与答案_第2页
第2页 / 共9页
趣味编程题整理与答案_第3页
第3页 / 共9页
趣味编程题整理与答案_第4页
第4页 / 共9页
趣味编程题整理与答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《趣味编程题整理与答案》由会员分享,可在线阅读,更多相关《趣味编程题整理与答案(9页珍藏版)》请在金锄头文库上搜索。

1、1.抓交通肇事犯一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。*问题分析与算法设计按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。*程序说明与注释#include#includeint main()int i,j,k,c;for(i=1;i=9;i+) /*i:车号前二位的取值*/for(j=0;j=9;j+) /*j:车号后二位的取

2、值*/if(i!=j) /*判断二位数字是否相异*/k=i*1000+i*100+j*10+j; /*计算出可能的整数*/for(c=31;c*ck;c+); /*判断该数是否为另一整数的平方*/if(c*c=k) printf(LorryNo. is %d.n,k); /*若是,打印结果*/*运行结果Lorry _No.is 77442百钱百鸡问题中国古代数学家丘建在他的算经中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?*问题分析与算法设计设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买

3、20只,显然x的值在020之间;同理,y的取值围在033之间,可得到下面的不定方程:5x+3y+z/3=100x+y+z=100所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化围的前提下,可通过对未知数可变围的穷举,验证方程在什么情况下成立,从而得到相应的解。*程序说明与注释#includeint main()int x,y,z,j=0;printf(Folleing are possible plans to buy 100 fowls with 100 Yuan.n);for(x=0;x=20;x+) /*外层循环控制鸡翁数*

4、/for(y=0;y=33;y+) /*层循环控制鸡母数y在033变化*/z=100-x-y; /*外层循环控制下,鸡雏数z的值受x,y的值的制约*/if(z%3=0&5*x+3*y+z/3=100)/*验证取z值的合理性及得到一组解的合理性*/printf(%2d:cock=%2d hen=%2d chicken=%2dn,+j,x,y,z);3三色球问题若一个口袋中放有12个球,其中有3个红的。3个白的和6个黒的,问从中任取8个共有多少种不同的颜色搭配?*问题分析与算法设计设任取的红球个数为i,白球个数为j,则黒球个数为8-i-j,根据题意红球和白球个数的取值围是03,在红球和白球个数确定

5、的条件下,黒球个数取值应为8-i-j=6。*程序说明与注释#includeint main()int i,j,count=0;printf( RED BALL WHITE BALL BLACKBALLn);printf(.n);for(i=0;i=3;i+) /*循环控制变量i控制任取红球个数03*/for(j=0;j=3;j+) /*循环控制变量j控制任取白球个数03*/if(8-i-j)=6)printf( %2d: %d %d %dn,+count,i,j,8-i-j);4马克思手稿中的数学题马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令;

6、每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人?*问题分析与算法设计设x,y,z分别代表男人、女人和小孩。按题目的要求,可得到下面的方程:x+y+z=30 (1)3x+2y+z=50 (2)用方程程序求此不定方程的非负整数解,可先通过(2)-(1)式得:2x+y=20 (3)由(3)式可知,x变化围是010*程序说明与注释#includeint main()int x,y,z,count=0;printf( Men Women Childrenn);printf(.n);for(x=0;x=10;x+)y=20-2*x; /*x定值据(3)式求y*/z=30-

7、x-y; /*由(1)式求z*/if(3*x+2*y+z=50) /*当前得到的一组解是否满足式(2)*/printf( %2d: %d %d %dn,+count,x,y,z);5新娘和新郞三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。*问题分析与算法设计将A、B、C三人用1,2,3表示,将X和A结婚表示为“X=1”,将Y不与A结婚表示为“Y!=1”。按照题目中的叙述可以写出表达式:x!=1

8、 A不与X结婚x!=3 X的未婚夫不是Cz!=3 C不与Z结婚题意还隐含着X、Y、Z三个新娘不能结为配偶,则有:x!=y且x!=z且y!=z穷举以上所有可能的情况,代入上述表达式中进行推理运算,若假设的情况使上述表达式的结果均为真,则假设情况就是正确的结果。*程序说明与注释#includeint main()int x,y,z;for(x=1;x=3;x+) /*穷举x的全部可能配偶*/for(y=1;y=3;y+) /*穷举y的全部可能配偶*/for(z=1;z1 A和B两人中至少去一人;a+d!=2 A和D不能一起去;a+e+f=2 A、E、F三人中要派两人去;b+c=0或b+c=2 B和

9、C都去或都不去;c+d=1 C和D两人中去一个;d+e=0或d=1 若D不去,则E也不去(都不去;或D去E随便)。上述各表达式之间的关系为“与”关系。穷举每个人去或不去的各种可能情况,代入上述表达式中进行推理运算,使上述表达式均为“真”的情况就是正确的结果。*程序说明与注释#includeint main()int a,b,c,d,e,f;for(a=1;a=0;a-) /*穷举每个人是否去的所有情况*/for(b=1;b=0;b-) /*1:去 0:不去*/for(c=1;c=0;c-)for(d=1;d=0;d-)for(e=1;e=0;e-)for(f=1;f=0;f-)if(a+b=1

10、&a+d!=2&a+e+f=2&(b+c=0|b+c=2)&c+d=1&(d+e=0|d=1)printf(A will%s be assigned. n,a?:not);printf(B will%s be assigned. n,b?:not);printf(C will%s be assigned. n,c?:not);printf(D will%s be assigned. n,d?:not);printf(E will%s be assigned. n,e?:not);printf(F will%s be assigned. n,f?:not);*运行结果A will be assi

11、gned. (去)B will be assigned. (去)C will be assigned. (去)D will not be assigned. (不去)E will not be assigned. (不去)F will be assigned. (去)750.谁在说谎三说四在说谎,四说王五在说谎,王五说三和四都在说谎。现在问:这三人中到底谁说的是真话,谁说的是假话?*问题分析与算法设计分析题目,每个人都有可能说的是真话,也有可能说的是假话,这样就需要对每个人所说的话进行分别判断。假设三个人所说的话的真假用变量A、B、C表示,等于1表示该人说的是真话; 表示这个人说的是假话。由题

12、目可以得到:*三说四在说谎 三说的是真话:a=1&b=0或 三说的是假话:a=0&b=1*四说王五在说谎 四说的是真话:b=1&c=0或 四说的是假话:b=0&c=1*王五说三和四都在说谎 王五说的是真话:c=1&a+b=0或 王五说的是假话:c=0&a+b!=0上述三个条件之间是“与”的关系。将表达式进行整理就可得到C语言的表达式:(a&!b|!a&b)&(b&!c|!b&c)&(c&a+b=0|!c&a+b!=0)穷举每个人说真话或说假话的各种可能情况,代入上述表达式中进行推理运算,使上述表达式均为“真”的情况就是正确的结果。*程序说明与注释#includeint main()int a,b,c;for(a=0;a=1;a+)for(b=0;b=1;b+)for(c=0;c=1;c+)if(a&!b|!a&b)&(b&!c|!b&c)&(c&a+b=0|!c&a+b!=0)printf(Zhangsan told a %s.n,a?truth:lie);prin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号