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

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


Числа Фибоначчи строятся следующим образом: первые два равны единице, а каждое следующее равно сумме двух предыдущих. Например, первые десять чисел Фибоначчи равны: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55. В заданном тексте символы нумеруются слева направо, начиная с единицы.

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

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string s, s1;
    cin >> s;
    int t1 = 1,t2 = 1, t3 = 1;
    vector<int> a;
    a.push_back(0);
    for(int i = 0; i < s.size() || t3 < s.size(); ++i){
        t3 = t2 + t1;
        t1 = t2;
        t2 = t3;
        a.push_back(t3 - 1);
    }
    for(int i = 0; i < a.size(); ++i)
        if(a[i] < s.size())
        cout << s.substr(a[i],1);
    return 0;
}

         

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



Комментарии

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