和为指定值的连续序列
摘要:
输入一个整数s,打印出所有和为s的连续正整数序列(至少包含两个数)。例如,对于输入15,由于有1+2+3+4+5=15,4+5+6=15,7+8=15,所以打印出1~5、4~6、7~8三个序列。 有个比较好的做法是利用等差数列求和公式:s=a*n+n*(n-1)/2。这里的a是第一个元素,n是项数。 int solve(int k){ int count = 0; for (int i = 1, v = 0; (v = i * (i - 1) / 2) A[end] sum += A[++end]; } else if (sum < val) { sum += A[++end]; ... 阅读全文
posted @ 2013-09-01 00:09 新一 阅读(367) 评论(0) 推荐(0)
浙公网安备 33010602011771号