Sujeto al efecto
El rey del oro ya que los salarios pagados a leal caballero. El primer día, Knight recibió una moneda de oro, dos días (días dos y tres) años, recibió dos monedas de oro todos los días, tres días más tarde (el cuarto, cinco o seis días), el diario recibió tres monedas de oro, cuatro días más tarde (siete, ocho, nueve, diez años), recibieron cuatro de oro ...... este modo día nómina siempre seguirá así: cuando N N días consecutivos para recibir monedas de oro todos los días, caballeros N + 1 días consecutivos después, las monedas recibidas N + 1 (N es cualquier entero positivo) todos los días.
Usted tiene que escribir un programa para determinar desde el primer día de un número determinado de días, los Caballeros ganaron un total de cuántas monedas de oro.
análisis de las ideas
Mirar el código que dirigir, fácil de entender
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
#define ll long long
#define MAX 10005
ll arr[MAX];
int main() {
ll cnt = 1, num = 1; arr[0] = 0;
for (ll i = 1; i < MAX; i++) {
arr[i] = arr[i - 1] + num;
cnt--;
if (cnt == 0)num++, cnt = num;
}
while (cin >> cnt && cnt)cout << cnt << ' ' << arr[cnt] << endl;
}