每日一题洛谷P2669 [NOIP2015 普及组] 金币c++
·

#include<iostream>
using namespace std;
int main() {
int k;
cin >> k;
int sum = 0;
int n = 1;//第一轮收1个金币
while (k > 0) {//还有k天可以收到金币
sum += n * n;//第n轮可以收到n*n个金币
k -= n;//第n轮有n天,剩余k-n天可以继续收金币
n++;//下一轮收的金币增加
}
//k可能<0,表示多收了金币,将多收的去掉
sum += k * (n - 1);
cout << sum << endl;
return 0;
}


更多推荐
所有评论(0)