将一个大于4的正整数分解为连续的正整数之和,请显示全部分解结果。
如数字15,可以分解为:
15=1+2+3+4+5
15=4+5+6
15=7+8
代码:
#include <stdio.h>
int main() {
int n, i, j, sum;
printf("请输入一个大于4的正整数:");
scanf("%d", &n);
for (i = 1; i < n; i++) {
sum = 0;
for (j = i; j < n; j++) {
sum += j;
if (sum == n) {
printf("%d=",n);
for (int k = i; k < j; k++)
printf("%d+", k);
printf("%d\n", j);
}
else if (sum > n)
break;
}
}
return 0;
}
运行结果:
请输入一个大于4的正整数:15
15=1+2+3+4+5
15=4+5+6
15=7+8