Вопрос задан 19.07.2023 в 02:08. Предмет Информатика. Спрашивает Шарипов Камиль.

Программа на C++ или Pascal, которая выводит на экран два числа из чисел Фибоначчи из которых

получилось введённое число. Например: ввод: 8 вывод: 3 5 ввод: 144 вывод: 55 89
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сивков Влад.

#include <iostream>

using namespace std;

int p = 0;

int f(int p)

{

if (p <= 0)

return 0;

if (p == 1)

return 1;

return f(p - 2) + f(p - 1);

}

int main()

{

int a;

cin >> a;

int mas[a];

for (; f(p) <= a; p++)

mas[p] = f(p);

for (int p = ::p - 1; p >= 0; p--)

{

int prob = a - mas[p];

for (int q = 0; q < p; q++)

if (prob == mas[q])

{

cout << "\n"

<< mas[p] << " " << prob;

exit(0);

};

};

cout << "condition impossible";

}

единственный минус программы - наибольшее число фибоначчи для нее приоритетнее : при вводе 8 , она выведет 8 0 , но так как и 8, и 0 являются числами фиб. , то условие выполняется верно .

программа выводит "condition impossible" ,когда введеное число нельзя представить в виде суммы двух чисел фиб.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи вам потребуется написать программу на C++ или Pascal, которая вычисляет числа Фибоначчи и затем находит два числа Фибоначчи, сумма которых равна введенному числу. Вот пример программы на C++, которая выполняет это:

cpp
#include <iostream> using namespace std; void findFibonacciPair(int n) { int prev = 0; int curr = 1; while (curr < n) { int temp = curr; curr += prev; prev = temp; } if (curr == n) { cout << prev << " " << curr << endl; } else { cout << "Числа Фибоначчи, сумма которых равна " << n << ", не найдены." << endl; } } int main() { int num; cout << "Введите число: "; cin >> num; findFibonacciPair(num); return 0; }

Программа запрашивает у пользователя число, затем находит два числа Фибоначчи, сумма которых равна введенному числу, и выводит их на экран. Если таких чисел не найдено, программа сообщит об этом.

Пример работы программы:

Введите число: 8 3 5

Также вы можете использовать аналогичный алгоритм и реализовать программу на языке Pascal.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос