Информатика, вопрос задал coolkate1 , 6 лет назад

Дано натуральное число n. Вычислить Xn, если известно, что: X1=Y1=1; Xk=X(k-1)+Y(k-1); Yk=2Y(k-1); k=2,3...
Паскаль или Си, или Си++
(не совсем понимаю как это посчитать с точки зрения математики)

Ответы на вопрос

Ответил oficus
0

Ответ:

#include <iostream>

#include <vector>

using namespace std;

int main(){

   int n;

   cin >> n;

   vector <int> x(n + 1), y(n + 1);

   x[1] = 1;

   y[1] = 1;

   for(int i = 2; i <= n; i++){

       x[i] = x[i - 1] + y[i - 1];

       y[i] = 2 * y[i - 1];

   }

   cout << x[n];

   return 0;

}

Объяснение:

думаю, можно назвать это динамическим программированием, где элемент с нужным индексом находится с помощью предыдущих, а предыдущие с помощью других предыдущих, своего рода прогрессия с особым условием изменчивости

Новые вопросы