ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:24.49KB ,
资源ID:11137254      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11137254.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(趣味C语言题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

趣味C语言题.docx

1、趣味C语言题韩信点兵在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候, 为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1;再按从1至6报数,记下最末一个士兵报的数为5;再按从1至7报数,记下最末一个士兵报的数为4;最后按从1至11报数,最末一个士兵报的数为10;你知道韩信至少有多少兵?() z谁结婚呢?魔术师的秘密在一次晚会上,一位魔术师掏出一叠扑克牌,取出其中13张黑桃,预先洗好后,把牌面朝下,对观众说:“我不看牌,只数一

2、数就能知道每张牌是什么?”魔术师口中念一,将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌子上。第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张牌,正好是黑桃3,这样依次将13张牌翻出,准确无误。现在的问题是,魔术师手中牌的原始顺序是怎样的?约瑟夫问题这是17世纪的法国数学家加斯帕在数目的游戏问题中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人 就将

3、他扔入大海,如此循环进行直到仅余15个人为止.问怎样排法,才能使每次投入大海的都是非教徒.求车速一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859.两小时后里程表上出现了第二个新的对称数.问该车的速度是多少 新的对称数是多少?常胜将军现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一根火柴谁输.请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为常胜将军. 十进制转换成N进制(N=2 8 16 )定义一个方法Trans(int num, int regx) 实现将一

4、个输入十进制数num转换成 regx 进制Eg: Trans(100, 16) 表示将 100 转成 16进制数 输出求100到1000之间有多少个其数字之和为5的整数.(答案:104,113,122,131,140,203,212,221,230,302,311,320,401,410,500)打鱼还是晒网scanf(“%d%d%d”,&year ,&month,&day);中国有句俗语叫三天打鱼两天晒网.某人从1990年1月1日起开始三天打鱼两天晒网,问这个人在以后的某一天中是打鱼还是晒网.*思考题:请打印出任意年份的日历*运行结果Enter year/month/day:1991 10

5、25He was fishing at day.Enter year/month/day:1992 10 25He was sleeping at day.Enter year/month/day:1993 10 25He was sleeping at day.求具有abcd=(ab+cd)2性质的四位数3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身.请求出具有这样性质的全部四位数.*运行结果There are following numbers with 4 digits satisfied condition:2

6、025 3025 9801填数字游戏已知下面的算式: ABCD EDCBA 计算ABCDE取什么值? Sum 谁在说谎张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎.现在问:这三人中到底谁说的是真话,谁说的是假话 *运行结果Zhangsan told a lie (张三说假话)Lisi told a truch. (李四说真话)Wangwu told a lie. (王五说假话)谁是窃贼公安人员审问四名窃贼嫌疑犯.已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的.在回答公安人员的问题中:甲说:乙没有偷,是丁偷的.乙说:我没有偷,是丙偷的.丙说:甲没有

7、偷,是乙偷的.丁说:我没有偷.请根据这四人的答话判断谁是盗窃者.*运行结果The thief is B. (乙为窃贼.)求数字求出所有可能的以下形式的算式,每个算式中有九个数位,正好用尽1到9这九个数字。 1)+=(共有168种可能的组合) 2)=(共有2种可能的组合) 3)=(共有7种可能的组合) 4)=(共有13种可能的组合) 5)=(共有28种可能的组合) 6)=(共有7种可能的组合) 7)=(共有11种可能的组合)爱因斯坦的数学题爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶.

8、只有每次跨7阶,最后才正好一阶不剩.请问这条阶梯共有多少阶?119角谷猜想猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1.请编程验证.黑洞数495与6174黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个数字不全相同的三位数,经有限次“重排求差”操作,总会得到495.最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数)例如,对三位数207:第1次重排求差得:720027693;第2次重排求差得:

9、963369594;第3次重排求差得:954459495;以后会停留在495这一黑洞数。如果三位数的3个数字全同,一次转换后即为0.因而,可把0与495一并作为判断条件。试求出任意输入三位数重排求差的过程。梅森尼数形如2n1的素数称为梅森尼数(Mersenne Prime)。例如2213、2317都是梅森尼数。1722年,双目失明的瑞士数学大师欧拉证明了23112147483647是一个素数,堪称当时世界上“以知最大素数”的一个记录。试求出指数n 3升出来拉丁方阵构造 NXN 阶的拉丁方阵(2=N=9),使方阵中的每一行和每一列中数字1到N只出现一次.如N=4时:1 2 3 42 3 4 13

10、 4 1 24 1 2 3作业:1黑与白有A,B,C,D,E五个人,每人额头上都贴了一张或黑或白的纸条。五人对坐,每人都可以看到其它人额头上纸条的颜色,但不知道自己额头上纸条的颜色,五人相互观察后-A说:“我看见三个人额头上贴白纸条,一人贴黑纸条”B说:“我看见四人额头上都贴黑纸条。“C说:“我看见三个人额头上贴黑纸条,一人贴白纸条。”D说:“我看见四人头上都贴白纸条。”E什么也没有说。已经知道额头贴黑纸条的人说的是假话,额头贴白纸条的人说的是真话。问究竟谁的额头贴白纸条,谁的额头贴黑纸条?2 要求输入一个数字N,然后打印一个数字绕的圈。 例如:N=3,然后输出: 1 2 3 8 9 4 7

11、6 5 N=4 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 依次例推。 要求用数组和循环实现。黑与白有A,B,C,D,E五个人,每人额头上都贴了一张或黑或白的纸条。五人对坐,每人都可以看到其它人额头上纸条的颜色,但不知道自己额头上纸条的颜色,五人相互观察后-A说:“我看见三个人额头上贴白纸条,一人贴黑纸条”B说:“我看见四人额头上都贴黑纸条。“C说:“我看见三个人额头上贴黑纸条,一人贴白纸条。”D说:“我看见四人头上都贴白纸条。”E什么也没有说。已经知道额头贴黑纸条的人说的是假话,额头贴白纸条的人说的是真话。问究竟谁的额头贴白纸条,谁的额头贴黑纸条?我们用a,

12、b,c,d,e表示每个人额头上所贴纸条的颜色,0代表黑色,1代表白色。由于暂时无法判定究竟谁说的是真话,因此每个人的话都有对错二种可能。以A说的话为例:假设A贴的是白纸条,寻么A说实话,有:a&b+c+d+e=3假如A贴的是黑纸条,那么A说假话,有:!a&b+c+d+e!=3因此根据A的回答,可以得到如下结论:a&b+c+d+e=3|!a&b+c+d+e!=3同样由b,c,d的回答,有如下结论:b&a+c+d+e=0|!b&a+c+d+e!=0c&a+b+d+e=1|!c&a+b+d+e!=1d&a+b+c+e=4|!d&a+b+c+e!=4与上例一样,让计算机穷举所有可能的情形,代入上述表达

13、式进行推理运算,假如满足上述表达式为真,说明找到了正确答案。代码如下:main()inta,b,c,d,e;for(a=0;a=1;a+)for(b=0;b=1;b+)for(c=0;c=1;c+)for(d=0;d=1;d+)if(a&b+c+d+e=3|!a&b+c+d+e!=3)&(b&a+c+d+e=0|!b&a+c+d+e!=0)&(c&a+b+d+e=1|!c&a+b+d+e!=1)&(d&a+b+c+e=4|!d&a+b+c+e!=4)printf(Aispasted%s.n,a?white:black);printf(Bispasted%s.n,b?white:black);p

14、rintf(Cispasted%s.n,c?white:black);printf(Dispasted%s.n,d?white:black);printf(Eispasted%s.n,e?white:black);魔术师的秘密在一次晚会上,一位魔术师掏出一叠扑克牌,取出其中13张黑桃,预先洗好后,把牌面朝下,对观众说:“我不看牌,只数一数就能知道每张牌是什么?”魔术师口中念一,将第一张牌翻过来看正好是A;魔术师将黑桃A放到桌上,继续数手里的余牌,第二次数1,2,将第一张牌放到这叠牌的下面,将第二张牌翻开,正好是黑桃2,也把它放在桌子上。第三次数1,2,3,前面二张牌放到这叠牌的下面,取出第三张

15、牌,正好是黑桃3,这样依次将13张牌翻出,准确无误。现在的问题是,魔术师手中牌的原始顺序是怎样的?解决这类问题的要害在于利用倒推的方法推出原来牌的顺序。假设桌上摆着13个空盒子,编号为1至13,将黑桃A放入第一个盒子中,从下一个空盒子开始对空盒子计数,当数到第二个空盒子时,将黑桃2放入空盒子中,然后再从下一个空盒子开始对空盒子计数。顺序放入3,4,5等,直到全部放入13张牌,注重在计数时要跳过非空的盒子,只对空盒子计数,最后得到的牌在盒子中的顺序,就是魔术师手中原来牌的顺序。计算机就是模拟这种行之有效的倒推方法的。代码如下:#includeinta14;main()inti,n,j=1;pri

16、ntf(Theorginalorderofcardsis:n);for(i=1;i13)j=1;if(aj)j+;elseif(n=i)aj=i;j+;n+;while(n=i);for(i=1;ib-c-a并且必须符合如下规则:1.b(8斤桶)倒空后才能从a(12斤桶)中取油。2c(5斤桶)盛满后才能向a(12斤捅)中倒油。我们设从a中往b倒油x次,从c往a倒油y次,那么最后a中剩下的油应该为12-8x+6y斤,按照题意,我们得到如下方程,12-8x+6y=6:我们为了得到这个方程的解,应按照上述的倒油规则不断的倒下去,直到a中或b中油的重量为6斤为止,另外也可以改变倒油的规则,看能否找到最

17、好的倒油步聚。代码:#includeinti;main()inta,y,z;printf(InputFulla,Emptyb,c,Geti:);/*读入3个容器的容量和最后需要的数量*/scanf(%d%d%d,&a,&y,&z,&i);getti(a,y,z);getti(inta,inty,intz)intb=0,c=0;/*b,c为二个容器的实际重量*/printf(a%db%dc%dn%4d%4d%4dn,a,y,z,a,b,c);while(a!=i|b!=i)/*假如满足要求退出循环*/if(!b)/*假如b为空,从a往b倒油*/a-=y;b=y;elseif(c=z)a+=z;c

18、=0/*假如c已满,从c往a倒油*/elseif(bz-c)b-=(z-c);c=z;/*假如b的重量大于c的剩余重量,倒满c*/elsec+=b;b=0;/*否则将b中的油全部倒入c*/printf(%4d%4d%4dn,a,b,c);要求输入一个数字N,然后打印一个数字绕的圈。 例如:N=3,然后输出: 1 2 3 8 9 4 7 6 5 N=4 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 依次例推。 要求用数组和循环实现。分析:螺旋巨阵问题 楼主可以这样去考虑 找出这个数组的规律 思路: 第一:输出第一行的所有列 第二:输出每一行的最后一列 第三:输出每

19、一列的最后一行 第四:输出第一列的所有行 四步做完之后再去考虑它的内向循环 依次减一就可以了 总的循环次数是行或列的一半因为当 N 是奇数的时候才需要填充 (N/2)+1 次,N是偶数的时候只要填充 (N/2)次, i是从0开始的,所以不需要等于i =N/2。 int i,j,n=1,aNN; / 每次顺时针填充一个“口”字型。假设分为X轴Y轴坐标 for (i=0; i N/2; i+) for (j=i; j N-i; j+) / 往右填充,X保持,Y+ aij = n+; for (j=i+1; j i; j-) / 往左填充,X保持,Y- aN-i-1j = n+; for (j=N-i-1; j i; j-) / 往上填充,Y保持,X- aji = n+; for (i=0; i N; i+) printf( nn

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1