当输入3时输出:1+2
当输入15时输出:1+2+3+4+5;4+5+6;7+8
int SeriatePositiveInt(int intPositiveInt, char* result)
{
assert(NULL != result);
int position = 0;
for (int i=1; i<=intPositiveInt/2; i++)//从1开始遍历
{
for(int t=i+1; t<=intPositiveInt/2+1; t++)
{
if (intPositiveInt > ((i+t)*(t-i+1)/2))
{
continue;
}
else if (intPositiveInt == ((i+t)*(t-i+1)/2))
{
for(int k=i; k<=t; k++)
{
sprintf(&result[position], "%d", k);
position = strlen(result);
if (k != t)
{
result[position++] = '+';
}
else
{
result[position++] = ';';
}
}
break;
}
else
{
break;//intPositiveInt < ((i+t)*(t-i+1)/2)
}
}
}
return 0;
}