int sequenceFactor(int n)
{
if(n<=0)
return -1;
for(int i=2;i<=n/2;++i)
{
if(i%2==1)//需要分成奇数个
{
int div=n/i;//则商为中间值。
if(n%i==0 && div-(i-1)/2>0)//必能整除,并且最小数应该大于0。
{
printf("%d...%d\n",div-(i-1)/2,div+(i-1)/2);
}
}
else
{
int div=n/i;//商为左半部分最大值。
if(n%i==i/2 && div-(i/2-1)>0)
{
printf("%d...%d\n",div-(i/2-1), div+i/2);
}
}
}
return 0;
}
写正确程序需要注意的地方:输入一个正数n,输出所有和为n连续正数序列。
最新推荐文章于 2021-02-25 23:19:42 发布