把正整数n拆分为若干个(不少于2个)连续正整数之和-枚举法

时间:2025-04-16 09:06:37

试把一个正整数n拆分为若干个(不少于2个)连续正整数之和。例如,n=15,有3种拆分
15 = 1+2+3+4+5
15 = 4+5+6
15 = 7+8
求解的个数,并输出解。

#include <>
#include <>
int main() {
	int n=15;
	int i,j,count=0;
	for(i=1;i<=(n-1)/2;i++){
		int s=0;
		for(j=i;j<=(n+1)/2;j++){
			s +=j;
			if(s>=n){
				if(s==n){
					count++;
					printf("%d:%d+……+%d\n",n,i,j);
				}
				break;
			}
		}		
	}
	printf("\n共有以上%d个解",count);
	return 0;
}