您的位置:首页 > 其它

poj 1032

2010-02-26 20:22 183 查看
思路

按照2+3+4+...求和

for(i=2;n-sum>i;i++)    /*利用循环并判断n-m是否<或=i*/
sum+=i;

printf("%d",2);        /*= ,则利用循环打出*/
for(t=3;t<=i;t++)
printf(" %d",t);

t=n-sum; /*余几*/           /*< ,则利用循环分部打出*/
s=i-2;    /*数列个数*/
k=t/s;    /*平均每个数加几*/       /*若剩余大于个数,则每个数加k*/
y=t%s;    /*还剩几*/              /*剩余的从大到小依次加一*/
printf("%d",2+k);
for(j=3;j<=s-y+1;j++)
printf(" %d",j+k);
for(j=s-y+2;j<=s+1;j++)
printf(" %d",j+k+1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: