题目描述 输入一个整数n,例如15,可以表示成为若干个连续整数之和 输入 一个任意正整数 输出 倒序的排列组合,如果没有则输出0 样例输入 15 样例输出 7...8 4...6 1...5 C语言
时间: 2024-05-20 13:17:17 浏览: 115
将一个整数S随机拆分为N个在min~max之间的整数.txt
#include <stdio.h>
int main() {
int n, i, j, sum;
scanf("%d", &n);
int flag = 0; // flag用来标记是否存在连续整数和为n的情况
for (i = n-1; i >= 1; i--) { // 从n-1开始枚举,因为一个数本身也可以表示成为连续整数之和
for (j = 1, sum = 0; sum < n; j++) { // j表示连续整数的起点,sum表示连续整数之和
sum += j + i;
if (sum == n) { // 如果找到了连续整数和为n的情况
flag = 1;
printf("%d...%d ", j, j+i);
break;
}
}
}
if (!flag) printf("0"); // 如果不存在连续整数和为n的情况,则输出0
return 0;
}
阅读全文