Тема: задача 1210 з e-olymp
Ось посилання на задачку - https://www.e-olymp.com/uk/problems/1210
Не знав яку формулу взяти для її розв'язання. Мені здається, що ми проходили цю тему з математики, але як не стараюсь - нічого не можу згадати.
Взяв з вікіпедії - https://wikimedia.org/api/rest_v1/media … 424aa9c82d
Код для обчислення по цій формулі:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
long int n, a, i = 1, y = 0, out;
cin >> n >> a;
out = (n * pow(a, n + 2) - (n + 1) * pow(a, n + 1) + a) / pow((a - 1), 2);
cout << out;
return 0;
}
Ті значення, що задані у умові задачі для перевірки обчислює правильно, але на e-olymp дає тільки 69% правильних результатів.
Відмінність формули у тому, що у задачі під сигмою і = 1, а у формулі 1 = 0. Можливо у цьому й проблема. Якщо так, то як правильно записати формулу? Є ще припущення, що помилки через те що p (в програмі a) не може = 1.