Решение задачи Снова Фибоначчи с Acmp

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


Вам наверняка знакомы числа Фибоначчи: 1, 1, 2, 3, 5, 8, 13, 21... Они определяются рекуррентным соотношением: Fn = Fn-1 + Fn-2, F0 = F1 = 1.

Требуется найти последнюю цифру n-го числа Фибоначчи.

Код

#include <iostream>
 
using namespace std;
 
int main()
{
     
    int  n,c = 0, k = 1, b = 1, bb = 1;
    cin >> n;
    while(n >= k){
        c = (b + bb) % 10;
        b = bb;
        bb = c;
        k++;
    }
    cout << b;
    return 0;
}

         

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


Код

#include <bits/stdc++.h>
#pragma GCC optimize ("O")
#pragma GCC optimize ("O2")
#pragma GCC optimize ("Ofast")
#pragma GCC optimize ("O1")
#pragma GCC optimize ("Os")
#pragma GCC target("avx,avx2,fma")
using namespace std;
 
vector <int> ar{0, 1, 1, 2, 3, 5,8,  3, 1, 4,  5,  9, 4,3, 7,0, 7,7, 4, 1,5,6,1,7, 8,5, 3, 8,1,9,0,9, 9,8, 7,5,2,7, 9,6,5, 1, 6, 7, 3, 0,3, 3,6,9,5, 4,9,3, 2, 5, 7, 2, 9,1};
 
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(nullptr);
    int n;
    cin >> n;
    cout << ar[(n + 1) % 60] ;
    return 0;
}

         

Sadijon Photo Автор: Sadijon



Комментарии

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