今天同事给了一个这样的问题
是一个初一学生问他的,结果没做出来,就告诉那学生,这道题出错了
学生回他:你不会做,就别说题错了 找借口
额,很是尴尬
今天,拿这道题来问我们
1 2 3 4 5 6 7 8 9=10
我想了很多可能,都没有得出10这个数
只好编个程序来实现
看似简单的程序,但实现的时候却有2的9次方=516种可能 没有想好遍历一遍的好算法,哪位要是要好的算法可以告诉我啊:》
我用的方法是 随机产生正负值 然后看有没有相加等于10的
程序如下:
结果运行了好长时间 都没有找到结果=10的
分析了一下结果 都是奇数
然后再分析下这道题, 是不是真的出错了,经过分析, 这道题真的是错误的
这9个数+-运算 结果只能是奇数 不可能是偶数
1 2 3 4 5 6 7 8 9 =10 是错的
证明如下:
2 4 6 8 四个偶数经+-运算后 依然是偶数
1 3 5 7 9 这5个奇数经+-运算后依然为奇数
而奇数和偶数经加减运算后结果为奇数
所以这9个数加减运算的结果只能是奇数
下面 证明:1 3 5 7 9 加减运算结果只能是奇数的原因
1 3 相邻奇数 加减为偶数
同理 5 7 加减为偶数
这样 13 57 加减便为:偶数
13 57 9 就相当于 一个偶数与9这个奇数加减, 其值为奇数
所以说: 1 3 5 7 9 加减值为一个奇数