题目链接:http://poj.org/problem?id=2000
先开始一天,每天1枚硬币,后两天每天两枚,后三天每天三枚,不难,处理好收尾的几天就是了
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std;
int main() { int n,m,i,sum; while(cin>>n&&n;) { sum=0; m=0; for(i=1;sum<=n;i++) { m+=i*i; sum+=i; } m-=(sum-n)*(i-1); cout<<n<<" "<<m<<endl; }
}
|