Срочно!!! На С++Даю 10 баллов!!! Числа Фибоначчи
Последовательность Фибоначчи определена следующим образом: ϕ0=1, ϕ1=1, ϕn=ϕn−1+ϕn−2 при n>1. Начало ряда Фибоначчи выглядит следующим образом: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... Напишите функцию vector phi(int n), которая по данному натуральному n возвращает последовательность Фибоначчи до n-того члена включительно.
Примеры
Ввод
5
Вывод
1 1 2 3 5 8
Код
#include
#include
using namespace std;
vector phi(int n)
<<**Ваш код**
int main()
{
int n;
cin >> n;
vector res = phi(n);
for (int i = 0; i < res.size(); ++i){
cout << res[i] << " ";
}
return 0;
}
Answers & Comments
Ответ:
{
vector<int> v(2);
v[0] = 1;
v[1] = 1;
if (n == 1) {
return v;
}
else {
int a = 1, b = 1, i = 1, f = 1;
while (f < n) {
if (i = a + b) {
a = b;
b = i;
v.push_back(i);
f += 1;
}
i += 1;
}
return v;
}
}
Объяснение: