在黑板上写下50个数字:1至50。在接下来的49轮操作中,每次做如下操作:选取两个黑板上的数字a和b,擦去,在黑板上写|b-a|。请问最后一次动作之后剩下的数字可能是什么?为什么?
来源:互联网 发布:黄种人 黑人 知乎 编辑:程序博客网 时间:2024/04/28 06:01
1.剩下的数字不可能大于50,结果只可能是 0-50
2.根据 |奇数-偶数|=奇数,|奇数-奇数|=偶数,|偶数-偶数|=偶数 ,所以经过一次操作,只可能减少0或2个奇数,由于1-50中有25个偶数,因此最后剩下的数字是个奇数,范围缩小为[1,3,5…,49]
3.证明每个奇数都能实现,由于两组任意连续的自然数a,a+1,b,b+1可以经过操作|a - (a+1)|=1,|b - (b+1)|=1,|1-1|=0,即可以消除这四个数的影响,所以可以按照如下规则实现任意奇数。
例如:
得到1:可以把1,2取出来,剩下的数字按照(3,4),(5,6),…,(49,50)分组,共24组连续的数字,可以全部消除影响,最后只剩下1,2,经过一轮操作后得到1。
得到3:可以把1,4取出来,剩下的数字按照(2,3),(5,6),…,(49,50)分组,共24组连续的数字,可以全部消除影响,最后只剩下1,4,经过一轮操作后得到3。
得到2K+1:可以把1,2K+2取出来,剩下的数字按照(2,3),(4,5),…,(2K,2K+1),(2k+3,2k+4),…,(49,50)分组,共24组连续的数字,可以全部消除影响,最后只剩下1,2K+2,经过一轮操作后得到3。
因此可能解的集合都能得到,所以剩下的数字可能是1,3,5,…,49
PS:对于任意的1-N,只需要对┌N/2┐进行分析,如果┌N/2┐为奇数,则最后的结果全是不大于N的奇数,否则全是不大于N的偶数
- 在黑板上写下50个数字:1至50。在接下来的49轮操作中,每次做如下操作:选取两个黑板上的数字a和b,擦去,在黑板上写|b-a|。请问最后一次动作之后剩下的数字可能是什么?为什么?
- <笔试面试>2013.9.22 阿里校招 笔试题之 在黑板上写下50个数字,1至50
- 黑板上的愛情
- 黑板上的愛情
- 黑板上的愛情
- 写在黑板上的爱情留言
- 51Nod-1661-黑板上的游戏
- 有人朝在黑板上写字的老师扔粉笔头-----这叫盗贼
- 阿里巴巴校招算法(黑板50个数字问题)
- c语言从键盘上输入一串字符串,输入两个数字a和b,截取字符串第a个到第b个字母,并输出截取后的字符串
- 51nod - 1661 黑板上的游戏 - 博弈论
- 笔试题—黑板上1—50
- 求在这个圆圈中剩下的最后一个数字
- 寝室的黑板
- 比较两个数字a,b的大小
- 黑板
- 黑板
- 在Chart上舞动的数字显示
- 2013-10-07 实验之按键中断控制Led
- 深入探讨 Java 类加载器
- 函数返回值问题
- 一个80后程序员的转行创业日记3
- Hibernate二级缓存浅谈
- 在黑板上写下50个数字:1至50。在接下来的49轮操作中,每次做如下操作:选取两个黑板上的数字a和b,擦去,在黑板上写|b-a|。请问最后一次动作之后剩下的数字可能是什么?为什么?
- 友情链接
- Paint The Wall hdu4391
- 使用NFS在linux之间共享目录与文件
- Node.js学习(7)----包
- java静态代码块,代码块和构造函数
- python算法之——栈实现
- POJ 2447 破解RSA(经典公钥算法)
- 59.windbg-MASM表达式语法