我们知道:
1 + 2 = 3;
4 + 5 = 9;
2 + 3 + 4 = 9
等式的左边都是两个或者两个以上连续的自然数相加,那么是不是所有的整数都可以写成这样的形式?发现:4、8 等数并不能写成 这样的形式。
问题1:写一个程序,对于一个64位正整数,输出它所有可能的连续自然数(两个以上)之和的算式。
问题2:大家在测试上面程序的过程中,肯定会注意到一些数字不能够表达为一系列连续的自然数之和,例如:32好像就是找不到。那么这样的数字有什么规律?能否证明?
问题3:在64位正整数范围内,子序列数目最多的数是哪一个?这个问题要用程序蛮力搜索,恐怕要运行很长时间,能否用数学知识推到出来?
只考加法的面试题(编程之美2.21)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...