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

Posted 超浪*牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把正整数n拆分为若干个(不少于2个)连续正整数之和-枚举法相关的知识,希望对你有一定的参考价值。

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

#include <stdio.h>
#include <stdlib.h>
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;
}

以上是关于把正整数n拆分为若干个(不少于2个)连续正整数之和-枚举法的主要内容,如果未能解决你的问题,请参考以下文章

用java将一个正整数拆分成若干个正整数的和,问有多少种分法?

c语言编程:连续输入若干个正整数,求其和及其平均值,直到输入0结束.

c语言编程:连续输入若干个正整数,求其和及其平均值,直到输入0结束.

正整数拆分问题 将一个给定的正整数n拆分成若干个在a到b之间的正整数之和,有多少种拆法

整数拆分为若干个2的幂数相加

一个正整数表示为n个连续正整数之和(第1届第2题)