摘要:
为了找份暑期实习生的工作,今天去某公司面试。很喜欢这样的公司,首先不问出身、不问爱好,直接给你一台电脑,几道编程题目,让你写程序。其中有道题目是将一个整数分解为连续正整数之和,如15可以分解为:15 = 1 + 2 + 3 + 4 + 515 = 4 + 5 + 615 = 7 + 8这道题,我用最死板的方法给编出来了。输入数n,设置起始位置i,再遍历连续正整数的长度k,由公式计算出 sum = i + (i+1) + ... + (i+k) = (k+1) * (2*i + k) / 2,判断与n的关系,若相等则打印出从i到i+k这(k+1)个数;若sum>n,则break;伪码如下: 阅读全文