Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/40: Рейтинг темы: голосов - 40, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 6

Найти k-ое число последовательности Фибоначчи

13.10.2017, 20:30. Показов 8114. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Последовательностью Фибоначчи называется последовательность чисел a0, a1, …, an, где a0 = x, a1 = y, ak = ak-1 + ak-2 для k > 1.

В школе маленький Игорь решал задачу для x = 0, y = 1. В задаче требовалось найти седьмое число последовательности. Ответом для этой задачи является число 13, так как: a0 = 0, a1 = 1, a2 = 1, a3 = 2, a4 = 3, a5 = 5, a6 = 8, a7 = 13.

Но домой ребятам задали решить множество таких задач с различными x, y и k

Помогите маленькому Игорю найти k-е число последовательности Фибоначчи.
Формат ввода

В первой строке записано число 0 ≤ k ≤ 80. Во второй строке через пробел записаны числа x и y, 0 ≤ x, y ≤ 300.
Формат вывода

Выведите ответ на задачу.

Вот код,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
using namespace std;
 
int main()
{ 
    unsigned long long  x, y, zn, sum, n, i;
 
    cin>> n;
    cin >> x >> y;
    if (n ==0) cout << x;
    if (n == 1) cout << y;
    zn = x + y;
    y = x;
    
    for (i = 1; i < n; i++)
    {
        sum = zn;
        zn = zn + y;
        y = sum;
    }
    if (n>=2)
    cout << zn;
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2017, 20:30
Ответы с готовыми решениями:

Найти N-ое число последовательности Фибоначчи
Последовательность Фибоначчи Последовательность Фибоначчи выглядит следующим образом: 1, 1, 2, 3, 5, 8, 13, 21, …. В этой...

Найти первое число в последовательности Фибоначчи, большее n
Найти: 1. Первое число в последовательности Фибоначчи, большее n(значение n вводится с клавиатуры; n&gt;1) 2. сумму всех чисел в этой...

Найти k-й член последовательности Фибоначчи; верно ли, что сумма первых n членов есть чётное число?
Дано натуральное число n,n&gt;=3. 1)Найти k-й член последовательности Фибоначчи. 2)Получить первые n членов последовательности 3)Верно...

11
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
13.10.2017, 21:05
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
   unsigned long long x, y, zn, sum, n, i;
   cin>> n;
   cin >> x >> y;
   if (n == 0) cout << x;
   if (n == 1) cout << y;
   for (i=2; i<=n; i++)
   {
      zn = x + y;
      x=y;
      y=zn;
   }
   cout << zn;
   system("PAUSE");
   return EXIT_SUCCESS;
}
0
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 6
13.10.2017, 21:18  [ТС]
прошёл 3-й тест но на 4-м вывел Presentation Error
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
13.10.2017, 22:11
Цитата Сообщение от missman Посмотреть сообщение
прошёл 3-й тест но на 4-м вывел Presentation Error
предполагаю, что там вводится 0 или 1, а в вывод идет х или у, а также zn.
попробуйте добавить
C++
1
2
if (n == 0) { cout << x; return 0; }
if (n == 1) { cout << y; return 0; }
либо zn = x; и zn = y;
1
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 6
13.10.2017, 22:20  [ТС]
Цитата Сообщение от mat_for_c Посмотреть сообщение
Цитата Сообщение от missman Посмотреть сообщение
прошёл 3-й тест но на 4-м вывел Presentation Error
предполагаю, что там вводится 0 или 1, а в вывод идет х или у, а также zn.
попробуйте добавить
C++
Выделить код
1
2
if (n == 0) { cout << x; return 0; }
if (n == 1) { cout << y; return 0; }
либо zn = x; и zn = y;
у меня выводит "zn" если n>=2 и там идёт проверка на 0 1 в моём коде
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
13.10.2017, 22:31
missman, но итерация суммирования у вас от 1, а надо от 2

Добавлено через 1 минуту
Цитата Сообщение от missman Посмотреть сообщение
прошёл 3-й тест но на 4-м вывел Presentation Error
вы же это писали для кода zss - вот я его и подправил
0
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 6
13.10.2017, 22:43  [ТС]
Цитата Сообщение от mat_for_c Посмотреть сообщение
missman, но итерация суммирования у вас от 1, а надо от 2
Добавлено через 1 минуту
Цитата Сообщение от missman Посмотреть сообщение
прошёл 3-й тест но на 4-м вывел Presentation Error
вы же это писали для кода zss - вот я его и подправил
да к этому писал,
тогда до i<n+1 или надо цикл делать, надо же вывести n член последовательности
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
13.10.2017, 23:38
Цитата Сообщение от missman Посмотреть сообщение
прошёл 3-й тест но на 4-м вывел Presentation Error
а ваш код сколько тестов проходит? быть может идет переполнение, когда x и y по 300 имеют значения ...
0
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 6
14.10.2017, 00:28  [ТС]
Цитата Сообщение от mat_for_c Посмотреть сообщение
а ваш код сколько тестов проходит? быть может идет переполнение, когда x и y по 300 имеют значения ...
я не знаю сколько проходит, как только тест не прошёл тестирующая система пишет что ошибка, если ответ не сошёлся, скорее всего это именно тогда когда 300 300 потому что в алгоритме я не нашёл ошибки. Знаю что на 3-м тесте у меня всегда ошибка была, а вот то что скинули, прошло до 4-го.
Цитата Сообщение от Catstail Посмотреть сообщение
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { unsigned long long x, y, zn, sum, n, i; cin>> n; cin >> x >> y; if (n == 0) cout << x; if (n == 1) cout << y; for (i=2; i<=n; i++) { zn = x + y; x=y; y=zn; } cout << zn; system("PAUSE"); return EXIT_SUCCESS; }
и вывело Presentation Error ,
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
14.10.2017, 00:41
Лучший ответ Сообщение было отмечено missman как решение

Решение

Цитата Сообщение от missman Посмотреть сообщение
и вывело Presentation Error ,
я и говорю, попробуйте исправить в новом коде
Цитата Сообщение от mat_for_c Посмотреть сообщение
if (n == 0) { cout << x; return 0; }
if (n == 1) { cout << y; return 0; }
Добавлено через 4 минуты
missman, по крайней мере, в вашем коде при вводе данных 2 10 1 выводит 21, когда нужно 11
1
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 6
14.10.2017, 00:44  [ТС]
Цитата Сообщение от mat_for_c Посмотреть сообщение
я и говорю, попробуйте исправить в новом коде
Да, всё получилось, у меня была ошибка при x!=0 всё ломалось, спасибо большое, скажите пожалуйста а что значит
Цитата Сообщение от Catstail Посмотреть сообщение
system("PAUSE");
return EXIT_SUCCESS;
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
14.10.2017, 01:03
system("PAUSE"); - команда предотвращения закрытия окна программы при завершении
return EXIT_SUCCESS; нормальное завершение программы. EXIT_SUCCESS - макрос, если не ошибаюсь, равен 0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2017, 01:03
Помогаю со студенческими работами здесь

В последовательности Фибоначчи найти индекс члена последовательности, удовлетворяющего условию
помогите не могу найти ошибку вводится число A,найти номер К такого числа Фибоначчи ,что Xк-1&lt;=A&lt;Xк. #include...

Определить, является ли заданное число членом последовательности Фибоначчи (цикл while)
Дано натуральное число. Определить, является ли оно членом последовательности Фибоначчи (первое число равно 0, второе - 1, каждое следующее...

Выяснить, имеется ли среди чисел последовательности хотя бы одно число Фибоначчи
Прошу помочь с составлением программы: Даны целые числа a1, ..., an. Выяснить, имеется ли среди чисел последовательности хотя бы одно...

Найти члены последовательности Фибоначчи
2. последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1, каждый следующий равен сумме двух...

Найти k-й член последовательности Фибоначчи
Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1, каждый следующий равен сумме двух предыдущих...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru