POJ 1032

题目蛮简单。写几组数据便可想出算法。

代码:

 

1 #include <iostream>
2 #include <vector>
3  using namespace std;
4
5  int main()
6 {
7 int N;
8 while (cin>>N)
9 {
10 vector<int> size;
11 int x(2),sum(0),k,y;
12 for ( ; sum+x<=N; sum+=x,++x)
13 {
14 size.push_back(x);
15 }
16 k = N-sum;
17 y = (int)size.size();
18 while (k--)
19 {
20 size[y-1]++;
21 y--;
22 if(!y) y = (int)size.size();
23 }
24 for (size_t i=0;i<size.size();++i)
25 {
26 cout<<size[i]<<' ';
27 }
28 }
29 }

 

转载于:https://www.cnblogs.com/gmlfly/archive/2011/01/13/1934974.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值