1、两人做游戏,轮流报数,报出的数只能是1、2、3、4、5、6、7、8其中之一,把两个人报出的数连加起来,谁报数后加起来的和是123,谁就获胜,让你先报,为了确保胜利,你第一个数报多少?
来源:互联网 发布:古典吉他 知乎 编辑:程序博客网 时间:2024/05/21 17:08
看到一道奥数题,如下 两人做游戏,轮流报数,报出的数只能是1、2、3、4、5、6、7、8其中之一,把两个人报出的数连加起来,谁报数后加起来的和是123,谁就获胜,让你先报,为了确保胜利,你第一个数报多少?
看了网上一些答案,觉得不太好理解,下面说说自己的解题思路。
首先用123去除9,得到商为13余数为6. 于是我们可以先报6然后让此后每一轮的大家报数的和为9. 这样可以保证最后一轮中对方无论报什么数都无法让总数到达123,因为到了最后一轮时,若用123去减此前所有报数之和肯定为9.这时,对方无论报1到8任何一个数都无法取得胜利,我们只需要报最后一个与其相加为9的数即可获得胜利!
延伸
此类问题,可用以下公式解决 【 总数 除以(可报数最大值+可报数最小值)】 所得的余数即为第一次报的数,以后每次报与对方数相加为【可报数最大值与最小值之和】的数。若无余数则无法保证胜利。
譬如:有一种报数游戏,游戏规则是:(1).两人轮流报数;(2)每次报的数只能是1至10中的一个数;(3)谁报数后两人所报全部数的和正好是2010,就算获胜。
2010/(1+10)=182余8 所以,我们可以先报8,然后保证以后每轮所报数之和为11即可。
0 0
- 1、两人做游戏,轮流报数,报出的数只能是1、2、3、4、5、6、7、8其中之一,把两个人报出的数连加起来,谁报数后加起来的和是123,谁就获胜,让你先报,为了确保胜利,你第一个数报多少?
- 每天一道LeetCode-----找到有多少个组合加起来和是n,每个组合的数字只能是1或者2
- 根据输入数字,输出一个新数,要求输出数字各个位的和加起来与原数相等。输出的数字是大于原数的第一个数。
- 把两个N位二进制数加起来的问题
- 面试题:有20个人围成一圈,顺序排号。从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子
- 1 2 3 6 7 8 11 12 13 16 17 18 21 22 23 要求1、 123报数,取出数3的 数; 2、将上次取出的数,再次123报数,取出
- n个人排成一圈,从1到3报数,数到3的人出列,输出最后剩下的哪个人是原来的第几号
- 有N个人围成一圈做游戏,规则如下:从某一个人开始报数,依次报1,2,3,喊到3的人出局。
- 【二进制枚举】求在n个数中取任意个数加起来组成x的方案数
- 强化练习4:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号。
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数)凡报到3的人退出圈子问最后留下1个人的是原来第几号的那位。
- 1001个球,两个人轮流拿球,且每次只能拿1、2、4个球,规定拿到最后一个球的人为输。如果让你先拿,你是否有必胜的把握。如果有,该如何操作?
- n个人排成一圈,从1开始报数,数到3,退出,剩下的最后一个人
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下 的是原来第几号的那位。
- python 实现:题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 在Windows server 2008 中拒绝共享资源用户的本地登录
- 找出第K大的数<数组>
- Httpclient通过代理访问网络
- Matlab--------股票接口,获取股票数据
- JMM 指令重排
- 1、两人做游戏,轮流报数,报出的数只能是1、2、3、4、5、6、7、8其中之一,把两个人报出的数连加起来,谁报数后加起来的和是123,谁就获胜,让你先报,为了确保胜利,你第一个数报多少?
- Httpclient线程池的管理和利用
- Eclipse中Android公共库的正确建立及调用方法
- Linux最简单的网络通信
- 幸福生活每一天
- Apache && Nginx Log的配置
- 数组的排序
- JAVA的面试题:0.3*3=0.899999999 , 不等于0.9
- 计算2个时间之间的天数差 JS版 和 JAVA版 2种