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 发布
本文深入探讨了一种用于整数序列分解的独特算法,详细解释了如何将整数分为奇数个子集,并确保每个子集可以整除原始整数。通过实例分析,展示了算法的应用过程,包括奇数和偶数分解条件的处理,最终输出分解结果。

665

被折叠的 条评论
为什么被折叠?



