文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>100题_26 和为n连续正数序列

100题_26 和为n连续正数序列

时间:2011-03-15  来源:小橋流水

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

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

 

这题还比较简单,从头开始,少了就往后加,多了就往前减。代码如下:

#include <iostream>

using namespace std;

void print(const int &start, const int &end)
{
cout<<"=";
for (int i = start; i <= end; i++)
{
cout<<i;
if (end != i)
cout<<'+';
}
}

void printConSum(int n)
{
cout<<n;
int start = 1, sum = 0;
for (int i = 1; i <= (n + 1) / 2; i ++)
{
sum += i;
if (sum == n)
{
print(start, i);
sum -= start++;
}
while (sum > n)
{
sum -= start++;
}
if (sum == n)
{
print(start, i);
sum -= start++;
}
}
cout<<endl;
}

int main()
{
printConSum(15);
return 0;
}
相关阅读 更多 +
排行榜 更多 +
宝宝情商养成宝宝巴士

宝宝情商养成宝宝巴士

休闲益智 下载
燥热手机版

燥热手机版

飞行射击 下载
巨人狙击手安卓版

巨人狙击手安卓版

飞行射击 下载