Форум программистов, компьютерный форум CyberForum.ru

Функция чисел Фибоначчи, предшествующих вводимому числу - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Узнать, какие элементы в массиве встречаются больше одного раза. http://www.cyberforum.ru/cpp-beginners/thread516280.html
Задается массив. Узнать, какие элементы в массиве встречаются больше одного раза.
C++ Одномерные массивы: Удалить из массива нули и после каждого числа, оканчивающегося на 5, вставить 1 Дан массив. Удалить из него нули и после каждого числа, оканчивающегося на 5, вставить 1. http://www.cyberforum.ru/cpp-beginners/thread516279.html
Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце C++
Дана целочисленная матрица размера M × N. Найти элемент, являю-щийся максимальным в своей строке и минимальным в своем столбце. Ес-ли такой элемент отсутствует, то вывести 0.
C++ Дана матрица размера M × N. Найти количество ее строк, элементы которых упорядочены по возрастанию.
Дана матрица размера M × N. Найти количество ее строк, элементы которых упорядочены по возрастанию.
C++ Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread516267.html
Дана целочисленная матрица размера M × N. Найти номер первой из ее строк, содержащих равное количество положительных и отрицательных элементов (нулевые элементы матрицы не учитываются). Если таких строк нет, то вывести 0.
C++ Найти минимальный среди максималь-ных элементов ее столбцов. Дана матрица размера M × N. Найти минимальный среди максималь-ных элементов ее столбцов. подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
11.03.2012, 19:35     Функция чисел Фибоначчи, предшествующих вводимому числу
Цитата Сообщение от jeka061288 Посмотреть сообщение
и как правильно понять - как работает rekurs_sum = rekurs_fibo(1,1,value); ?
- я специально приводил всесте и
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
int direct_fibo(int val)
и
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
int rekurs_fibo(int fib1, int fib2, int val)
, они имеют аналогичный функционал и логику, рекурсия как бы заменяет цикл, мы вызываем функцию повторно вместо того чтобы переходить к след итерации.

Смотри тут изменяем величины в цикле
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
fib_sum = fib2 + fib1;
* * * * * * * * fib1 = fib2;
* * * * * * * * fib2 = fib_sum;
,
а здесь вместо того чтобы организовывать итерации, просто вызываем функцию с изменёнными аргументами
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
fib_sum =+ rekurs_fibo(fib2, (fib1 + fib2), val);
Тут для понимания лучше всего поможет пошаговое прохождение алгоритма

Добавлено через 1 минуту
jeka061288, рекурсия подразумевает повторный вызов функции внутри её тела, благодаря чему возможно изменение её аргументов без итераций, т.е. как бы вызываем функцию уже с результатами предыдущих расчётов
 
Текущее время: 02:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru