和为n连续正数序列

原创 2017年01月02日 23:40:16

题目:输入一个正数n,输出所有和为n连续正数序列。

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

分析:这是网易的一道面试题。

#include<iostream>
#include<cstring>
using namespace std;
void ans(int n)
{
	int small=1,big=2;
	int sum=small+big;
	if(n<3)
		return ;
	while(small<=(n-1)/2)
	{
		if(sum==n)
		{
			for(int i=small;i<=big;i++)
				cout<<i<<" ";
			cout<<endl;
			big++;
			sum+=big;
		}	
		else if(sum<n)
		{
			big++;
			sum+=big;
		}
		else
		{
			sum-=small;
			small++;
		}
	}
}
int main()
{
	int n;
	while(cin>>n)
	{
		ans(n);
	}
	return 0;
}

网易面试题 输入一个正数n,输出所有和为n连续正数序列

输入一个正数n,输出所有和为n连续正数序列
  • susidian
  • susidian
  • 2015年08月17日 16:41
  • 560

剑指offer----和为S的连续正数序列----java实现

输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15;所以打印出三个连续序列1~5,4~6,7~8; 思路: 从递增数组...
  • snow_7
  • snow_7
  • 2016年08月15日 12:48
  • 747

算法习题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
  • 1119

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

题目:输入一个正数 n,输出所有和为n 连续正数序列。 例如输入 15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。 可以发现任意自然数序...
  • ZCSYLJ
  • ZCSYLJ
  • 2012年08月12日 16:50
  • 3547

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

输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 #define N 15 void fin...
  • Edwards_June
  • Edwards_June
  • 2017年01月13日 19:52
  • 316

找出所有和为S的连续正数序列

小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一...
  • u012303737
  • u012303737
  • 2016年03月09日 16:26
  • 230

剑指offer面试题之和为S的连续正数序列

1,问题: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久...
  • zzuchengming
  • zzuchengming
  • 2016年04月04日 19:18
  • 419

算法 - 求和为n的连续正整数序列(C++)

//**************************************************************************************************...
  • chimomo
  • chimomo
  • 2014年04月18日 14:38
  • 10563

打印和为N的连续正整数序列

输入一个正数 n,输出所有和为 n 连续正数序列   例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6 和 7-8。 第一种方法: i...
  • qq_20801369
  • qq_20801369
  • 2017年03月05日 18:12
  • 261

面试题40:输出和为指定值的连续正数序列

思路: 1. 用两个变量分别表示序列的最小值和最大值。首先把他们分别初始化为1和2, 2. 如果从最小值到最大值的序列之和大于给定值,则从序列中去掉最小值,也就是增大最小值; 3. 如果从最小值...
  • htyurencaotang
  • htyurencaotang
  • 2013年09月05日 11:23
  • 1354
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:和为n连续正数序列
举报原因:
原因补充:

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