几个有意思的逻辑数学题

1、有N个球,一个天平,N个球中有一个是劣质球(质量较轻),请问称三次,N最大为多少,仍能找到劣质球?

因为题目指定了劣质球比较轻,且只有一个劣质球,所以称一次的话,可以在三堆球里面找到有坏的求的那一堆。比如a和b堆称重,哪堆轻哪堆有优劣球,一样重,没称的那一堆有劣质球。

秤三次最多可以有3^3^3=27个球,因为最后一次是剩3个球来比较

如果不满27个,则,两堆9,剩下一堆,比较两堆九的,以此类推……

2、有20张卡牌,将其中8张翻成正面,其余为反面,把眼睛蒙上,在可以作任何操作(包括翻转纸牌)的前提下,怎么将20张派分成两堆,并保证其中翻向上的纸牌张数,两堆相同(总数量不一定相同)

答案:将20张牌先分成8张一堆,12张一堆,然后将8张的那一堆全部反向

解释:8张的这一堆假设有n张牌(n<=8),12张的那堆有8-n,将8的那堆全部翻转后,8那堆也有8-n张翻转。


以下是一些C语言初学者可能会觉得有趣的编程题: 1. 猜数字游戏:编写一个程序,让用户猜一个范围内的随机生成的整数,直到猜中为止。程序应根据用户的猜测给出提示,告诉用户是猜大了还是猜小了。 2. 九九乘法表:编写一个程序打印出九九乘法表,即从1乘1到9乘9的所有结果。 3. 排序算法:实现常见的排序算法,如冒泡排序、选择排序或插入排序,并通过程序验证其正确性。 4. 计算器:编写一个简单的计算器程序,可以接受两个操作数和一个运算符,然后根据运算符执行相应的数学运算并输出结果。 5. 石头剪刀布游戏:编写一个石头剪刀布游戏的程序,让用户选择石头、剪刀或布,并与计算机进行对战,判断输赢并输出结果。 6. 简易登录系统:编写一个简单的登录系统,要求用户输入用户名和密码,并进行验证,如果匹配则输出登录成功,否则输出登录失败。 7. 生成斐波那契数列:编写一个程序,使用循环或递归方式生成斐波那契数列的前n项,并输出结果。 8. 统计字符个数:编写一个程序,接受一个字符串和一个字符,统计该字符在字符串中出现的次数,并输出结果。 9. 找出最大值和最小值:编写一个程序,接受一组整数输入,并找出其中的最大值和最小值,并输出结果。 10. 简易图书管理系统:编写一个简易的图书管理系统,包括图书的增加、删除、查询等功能,并可以将图书信息存储在文件中。 以上这些编程题可以帮助初学者巩固基本的编程知识和技能,并提高对C语言的理解和应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值