Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/88: Рейтинг темы: голосов - 88, средняя оценка - 4.68
-3 / 3 / 0
Регистрация: 10.03.2019
Сообщений: 108

Вывести n-е число Фибоначчи

10.03.2019, 17:48. Показов 17396. Ответов 2

Author24 — интернет-сервис помощи студентам
Добрый день. Не понимаю как решить задачу прошу вас помочь.
Числа Фибоначчи определяются следующими формулами: f(0)=f(1)=1;f(n)=f(n–1)+f(n–2) , при n<2.

Входные данные
На вход программе подается целое неотрицательное n<=40.

Выходные данные
Выведите n-е число Фибоначчи. Массив в программе не использовать.

Примеры
входные данные
4
выходные данные
5

Совсем не понимаю задачу. Искал на этом форуме но все решения оказались не правильными т.к. не проходят ни одну проверку. Прошу вас помочь
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2019, 17:48
Ответы с готовыми решениями:

Вывести n-е число Фибоначчи
Числа Фибоначчи определяются следующими формулами: f(0)=f(1)=1;f(n)=f(n–1)+f(n–2) , при n2. Входные данные На вход программе...

Вывести k-ое число из последовательности Фибоначчи
Добрый день моя проблема такова: т. к. так написано в условии задачи (1&lt;=K=&gt;200) а уже 50-ое число силишком большое для longint. Напишите...

Дано целое число N (> 1). Вывести последовательность чисел Фибоначчи Fk
Дано целое число N (&gt; 1). Последовательность чисел Фибоначчи Fk до (целого типа) определяется следующим образом: F1 = 1, F2 = 1, FK =...

2
Модератор
10153 / 5490 / 3370
Регистрация: 17.08.2012
Сообщений: 16,783
11.03.2019, 01:06
Лучший ответ Сообщение было отмечено CyberNinjaProg как решение

Решение

Цитата Сообщение от CyberNinjaProg Посмотреть сообщение
все решения оказались не правильными т.к. не проходят ни одну проверку
"Не правильными"? Ой ли? То, что решения не проходят проверку на поганом проверочном сайте, куда Вы их пытаетесь сдавать, не делает решения неправильными. На самом деле, все решения правильные, просто лично Вы оказались неспособны выполнить требования проверочного сайта по оформлению программ. Если "все решения оказались не правильными", резонно было бы предположить, что это Вы делаете что-то не так, а не объявлять все решения не правильными.

В условии задачи ошибка. Должно быть f(n)=f(n–1)+f(n–2), при n≥2. Кроме того, условие задачи не соответствует классическому определению ряда Фибоначчи.

Простой вариант программы, для сдачи на проверочный сайт:
Pascal Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  n, t, f: longint;
 
begin
  readln(n);
  t := 1;
  f := 1;
  for n := 2 to n do
    begin
      f := f + t;
      t := f - t
    end;
  writeln(f)
end.
Так как n не превосходит 40, можно применить формулу Бине, тогда цикл не нужен:
Pascal Скопировано
1
2
3
4
5
6
7
8
9
10
11
const
  sqrt5 = sqrt(5);
  lnfi = ln(1 + sqrt5) - ln(2);
 
var
  n: longint;
 
begin
  readln(n);
  writeln(round(exp((n + 1) * lnfi) / sqrt5))
end.
Ликбез: Числа Фибоначчи - Википедия.
1
Модератор
10153 / 5490 / 3370
Регистрация: 17.08.2012
Сообщений: 16,783
13.03.2019, 23:10
CyberNinjaProg, я выяснил, что, возможно, Вам требуются пояснения. Объяснения проведу не для классического определения ряда Фибоначчи, а для (не вполне верного) определения, следующего из Вашего задания.

По первой программе:

f - это n-й член ряда Фибоначчи, а t - n-1 -й. Изначально задаём t=F0=1, f=F1=1.

Далее в цикле производим действия с этими переменными с целью выяснить значение n-ного члена ряда. Так как F0=F1=1, то цикл менее чем для 2-го члена ряда не требуется.

По определению, Fn = Fn-1 + Fn-2. Если считать, что в переменной f находится n-1 -й член ряда, а в переменной t - n-2 -й, то в 10 строке в переменную f помещается n-й член ряда.
Таким образом, в переменной f будет Fn, а в t - Fn-2.

Известно, что Fn-1=Fn-Fn-2. В строке 11 по этой формуле вычисляется Fn-1

Вычисления повторяются n-2 раз, и в результате в f будет Fn (а в t - Fn-1, если что).

По второй программе:

Есть пропорция деления чего-то целого, такая, что отношение целого к бОльшей части равно отношению бОльшей части к меньшей. Эта пропорция называется "золотое сечение", и это самое "золотое сечение" равно

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\varphi =\frac{1+\sqrt{5}}{2}=1.61803398874989484820...<br />

Давным-давно один матёрый французский математик, Жак Филипп Мари Бине (Jacques Philippe Marie Binet) доказал, что значение n-ного числа Фибоначчи равно

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
F_n=\lfloor \frac{\varphi ^n}{\sqrt{5}}\rceil<br />

справедливости ради следует сказать, что аж за 100 лет до Бине эту формулу получил не менее матёрый английский математик (французского происхождения - какая ирония!) Абрахам де Муавр (Abraham de Moivre).

Кривокосые скобочки в формуле означают округление до ближайшего целого (как раз это делает паскалевская функция round).

Собственно, во второй программе и реализована эта самая формула Бине. Возведение в степень сделано с помощью логарифмирования и потенцирования:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\varphi ^n=e^^{n\cdot \ln \varphi }<br />

Так как у Вас по заданию не классический ряд Фибоначчи, а смещённый на 1, вычисляется n+1 -й член "классического" ряда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2019, 23:10
Помогаю со студенческими работами здесь

Вывести на экран n-е число Фибоначчи и проверить выполнение соотношение Кассини
Разработать программу которая выводит на экран n-е число Фибоначчи и проверяет выполнение соотношение Кассини. (n может быть как...

Дано целое число N (> 1). Определить, является ли число N числом Фибоначчи
Дано целое число N (&gt; 1). Определить, является ли число N числом Фибоначчи. Если является, то вывести сообщение: «N — число Фибоначчи»,...

Дано натуральное число n. а) определить н-ое число Фибоначчи;
заранее спасибо!

Вывести n-ое число из последовательности Фибоначчи
На вход задаётся число n, программа должна вывести n-ое число из последовательности Фибоначчи. (1 1 2 3 5 8 13), здесь n- числом (3)...

Вывести n-е число Фибоначчи
Помогите написать программу, что бы выводилось n-ое число ряда чисел Фибоначчи на экран


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер