这道题很简单,就是计算累加和。
2000 | Accepted | 744K | 0MS | G++ | 825B |
/*
ID: thestor1
LANG: C++
TASK: poj2000
*/
#include <iostream>
#include <fstream>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <limits>
#include <string>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
#include <cassert>
using namespace std;
const int MAXN = 10000;
int main()
{
std::ios::sync_with_stdio(false);
std::vector<int> sumcoins(MAXN + 1, 0);
sumcoins[0] = 0;
int k = 0, coin = 1;
for (int i = 1; i <= MAXN; ++i)
{
sumcoins[i] = sumcoins[i - 1] + coin;
// cout << coin << ", " << sumcoins[i] << endl;
k++;
if (k == coin)
{
k = 0;
coin++;
}
}
int day;
while (cin >> day && day)
{
cout << day << " " << sumcoins[day] << endl;
}
return 0;
}