// 一个整数表示成多个连续的整数之和.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
if(argc!=2)
{
cout<<"The argc is not 2!"<<endl;
return -1;
}
int value=atoi(argv[1]);
int count=(value%2==0)?value/2:(value/2+1);
int *pIntArray=new int[count];
memset(pIntArray,0,count);
int sum=0;
int pos=0;
for(int i=1;i<=count;i++)
{
sum+=i;
pIntArray[pos++]=i;
if(sum==value)
{
for(int j=0;j<pos;j++)
{
cout<<pIntArray[j]<<" ";
}
cout<<endl;
i=pIntArray[0];
memset(pIntArray,0,count);
sum=0;
pos=0;
}
else if(sum>value)
{
i=pIntArray[0];
memset(pIntArray,0,count);
sum=0;
pos=0;
}
}
delete [] pIntArray;
system("pause");
return 0;
}
一个整数表示成多个连续的整数之和
最新推荐文章于 2019-06-22 21:38:36 发布