Решение задачи Фибоначчиева последовательность с Acmp

Без пояснения   Просмотров: 48


Последовательность чисел a1, a2, …, ai,… называется Фибоначчиевой, если для всех i ≥ 3 верно, что ai=ai-1+ai-2, то есть каждый член последовательности (начиная с третьего) равен сумме двух предыдущих.

Ясно, что, задавая различные числа a1 и a2, мы можем получать различные такие последовательности, и любая Фибоначчиева последовательность однозначно задается двумя своими первыми членами.

Будем решать обратную задачу. Вам будет дано число n и два члена последовательности: an и an+1. Вам нужно написать программу, которая по их значениям найдет a1 и a2.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int n,a,b, d;
    vector<int> c;
    cin >> n >> a >> b;
    if(n==1){
        c.push_back(a);
        c.push_back(b);
    }
    while(n > 1){
        d = b - a;
        c.insert(c.begin(), b - a);
        b = a;
        a = d;
        n--;
    }
    cout << c[0] << " " << c[1];
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться