51.和为n连续正数序列(数组)。

原创 2012年03月30日 15:18:51
51.和为n连续正数序列(数组)。
题目:输入一个正数n,输出所有和为n连续正数序列。

例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。




//coder:LEE 20120330
#include<iostream>
#include<cassert>
using namespace std ;
void Print(int start,int end){
	for (int i=start;i<=end;i++){
		cout<<i<<" ";
	}
	cout<<endl;
}
void OutPutSumOfSequenceEquelN(int n){
	assert(n>0);
	int start=1;
	int end=1;
	int sum=1;
	while(1){
		if (sum<n){
			end++;
			sum+=end;
		}
		else if(sum>n){
			sum-=start;
			start++;
		}
		else
		{
			Print(start,end);
			end++;//don't forget
			sum+=end;
		}
		if(end>=n)
			break;
	}
}
int main()
{
	OutPutSumOfSequenceEquelN(1);
	return 1;
}


相关文章推荐

算法习题51:输入一个正数n,输出所有和为n连续正数序列

和为n连续正数序列。 题目:输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 分析:这是...
  • ylf13
  • ylf13
  • 2013年11月08日 11:57
  • 1059

给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱). 第二解

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...

给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱).

问题:给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8...

和为n的连续正数序列

【题 目】输入一个整数,输出所有和为n的连续正数序列。例如:输入15,由于15=7+8=4+5+6=1+2+3+4+5,所以输出的序列为『1,2,3,4,5』;『4,5,6』,『7,8』三个。   ...

和为 n 连续正数序列

题目:输入一个正数 n,输出所有和为 n连续正数序列。 例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6和 7-8。   方法...

求和为n连续正数序列 C++实现

题目:输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 分析:这是网易的一道面试题。 这...

和为n连续正数序列

题目:输入一个正数n,输出所有和为n连续正数序列。 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 分析:这是网易的一道面试题。 这...

算法-子数组连续序列最大和其时间复杂度如何从O(n^3)到O(n)

求数组的连续子数组和的最大值。如何做到时间复杂度从O(n^3),O(n^2),再到O(n)呢? 这中间我们应该做哪些思考使复杂度逐渐变小呢?这些思想怎么能应用到我们的开发中呢? 下面分别看下这几个版本...

C++ 给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)输出最长子序列的长度及对应的子序列

Evelyn QQ: 1809335179 给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)输出最长子序列的长度及对应的子序列 #include #includ...

输入一个正数n,输出所有和为n连续正整数序列

public class lzwCode { public static void main(String[] args) { findCount(15); } /** * 题目:输...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:51.和为n连续正数序列(数组)。
举报原因:
原因补充:

(最多只允许输入30个字)