首页 > 代码库 > 6.1连续整数固定和问题

6.1连续整数固定和问题

Q:编写一个程序,找出一个数的全部连续整数固定和。eg: 27=2+3+.....+7; 27=8+9+10;27=13+14;

注意:有些数可能不存在连续整数固定和,如4和6.

 

#include<iostream>
using namespace std;

int f(int n) {
	int sum=0;
	for(int i=1;i<n;i++) {//控制起点选择,从1~n-1
		int j=i-1;
		while(sum<n) {//从起点向后顺序累加
			j++;
			sum+=j;//sum记录当前累加和
		}
		if(sum==n) {
			cout<<i<<"+....+"<<j<<"= "<<n<<endl; //找到一个n的连续整数固定和
		}
		sum=0;
	}
}
int main() {
	int n;
	cout<<"input a integer:"<<endl;
	cin>>n;
	f(n);
	return 0;
}

  

6.1连续整数固定和问题