国王将金币作为工资,发放给忠诚的骑士。
第1天,骑士收到1枚金币,1
之后两天,每天收到2枚金币,1 2 2
之后3天每天收到3枚金币…….。1 2 2 3 3 3
这种工资发放模式一直延续。
求给定天数,计算一个骑士获得的金币。
输入格式:
输入发金币的天数
输出格式:
输出获得的金币总数
###补差值
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
using ll = long long int;
using namespace std;
int main()
{
int day ;
cin >> day;
int sum = 0;
int tempday = 0;
int tempsum = 0;
int i = 1;
for(; tempday<= day; i++)
{
tempsum = tempsum+i*i; // 1 5 14
tempday = tempday+i; // 1 3 6
}
i -= 1; // 3
sum = tempsum + (day-tempday)*i;
cout << sum;
return 0;
}