Ответы
Ответ дал:
1
Ответ:
#include <iostream>
using namespace std;
int main()
{
int n, i;
setlocale(LC_ALL, "Russian");
cout << "\nN = ";
cin >> n;
unsigned long long* x = new unsigned long long [n];
x[1] = 1;
x[2] = 1;
x[3] = 1;
for (i = 4; i <= n; i++)
x[i] = x[i - 1] + x[i - 3];
cout << "\nX [" << n << "] = " << x [n] << endl;
getchar;
}
include vector и iostream. Не знаю почему не отображается
И еще в вашем решении утечка памяти. New есть а delete нет
А вообще я немного подумал и оттимальнее будет написаь как то так
#include
int main()
{
size_t n;
std::cin >> n;
size_t a = 1, b = 1, c = 1;
n -= 3;
for(size_t i = 0; i < n; ++i)
{
std::swap(c, b);
std::swap(b, a);
c += a;
}
std::cout << c << std::endl;
}
int main()
{
size_t n;
std::cin >> n;
size_t a = 1, b = 1, c = 1;
n -= 3;
for(size_t i = 0; i < n; ++i)
{
std::swap(c, b);
std::swap(b, a);
c += a;
}
std::cout << c << std::endl;
}
Вас заинтересует
1 год назад
1 год назад
1 год назад
1 год назад
3 года назад
3 года назад
8 лет назад
#include
#include
int main()
{
size_t n;
std::cin >> n;
std::vector numbers {1, 1, 1};
numbers.reserve(n);
for(size_t i = 3; i < n; ++i)
{
numbers.push_back(numbers[i - 1] + numbers[i - 3]);
}
std::cout << numbers.back() << std::endl;
return 0
}