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

Write a recursive function in C or C++ to calculate the Nth number in the Fibonacci sequence

29.07.2015, 10:53. Показов 3556. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Write a recursive function in C or C++ to calculate the Nth number in the Fibonacci sequence
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.07.2015, 10:53
Ответы с готовыми решениями:

Write the function sequence (start, step).
Write the function sequence (start, step). When it is called, it returns a function that, with each call, gives a number step more, and so...

Write a function nextInLine which takes an array (arr) and a number (item) as arguments.
https://www.freecodecamp.org/challenges/stand-in-line Ничего не могу понять. Просят создать функцию с arr и item, но она уже...

Calculate total number of operations needed to convert a number from origin to sigle digit
To predict person's fate, numerologist takes time of a person's life in seconds,then adds all it's digits together. If that sum of digits...

21
 Аватар для ture
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
29.07.2015, 11:16
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
26
27
28
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
unsigned long long f(int);
 
int main() {
    cout << "F(n), n = ";
    int n;
    cin >> n;
    if(n > 0)
        cout << "F(n) = " << f(n) << endl;
    else
        cout << "American?" << endl;
 
    system("pause");
    return 0;
}
 
unsigned long long f(int n) {
    if(n == 1)
        return 0ULL;
    else if(n == 2)
        return 1ULL;
    else
        return f(n - 1) + f(n-2);
}
1
Заблокирован
29.07.2015, 11:43  [ТС]
Цитата Сообщение от ture Посмотреть сообщение
unsigned long long f(int n) {
* * if(n == 1)
* * * * return 0ULL;
* * else if(n == 2)
* * * * return 1ULL;
* * else
* * * * return f(n - 1) + f(n-2);
Мне всякие мейны не нужны. Вот это я так понимаю правильная функция для поиска факториала, верно?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
29.07.2015, 11:46
Цитата Сообщение от Butt-Head Посмотреть сообщение
Мне всякие мейны не нужны. Вот это я так понимаю правильная функция для поиска факториала, верно?
нет,факториал так не ищут.Там используется операция умножения,здесь - суммирование.
1
Заблокирован
29.07.2015, 11:52  [ТС]
Цитата Сообщение от S_el Посмотреть сообщение
нет,факториал так не ищут.Там используется операция умножения,здесь - суммирование.
Тфу... тут фибоначи..., то есть короче говоря, это функция - правильный ответ на вопрос сабжа, верно?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
29.07.2015, 12:06
Цитата Сообщение от Butt-Head Посмотреть сообщение
то есть короче говоря, это функция - правильный ответ на вопрос сабжа, верно?
не верно,если https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{1} = 1.
1
Заблокирован
29.07.2015, 12:12  [ТС]
Цитата Сообщение от S_el Посмотреть сообщение
не верно,если .
Ну так что передать мой корол?
Какой будет верный ответ на вопрос топика?
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,649
Записей в блоге: 6
29.07.2015, 12:16
Есть очень эффективный алгоритм https://www.cyberforum.ru/post7053868.html
1
29.07.2015, 12:22

Не по теме:

Цитата Сообщение от Butt-Head Посмотреть сообщение
Какой будет верный ответ на вопрос топика?
верный ответ такой:
попробуйте сделать самостоятельно.Я не буду делать элементарные задачи,которые уже неоднократно решались на форуме.

0
Заблокирован
29.07.2015, 13:00  [ТС]
Цитата Сообщение от Ilot Посмотреть сообщение
Есть очень эффективный алгоритм
Цитата Сообщение от S_el Посмотреть сообщение
попробуйте сделать самостоятельно.Я не буду делать элементарные задачи,которые уже неоднократно решались на форуме.
Да в том то и дело, я как бы не обычный халявщик/ студент. Я насоздавал тем, чтоб самому не парится, если вдруг у кого есть линк на тред с уже решённым вопросом.
Если линка нет, тогда тут дело сугубо добровольное
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.07.2015, 13:04
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
26
27
28
#include <type_traits>
#include <iostream>
 
template <std::size_t N>
struct Fib : std::integral_constant<unsigned long long, Fib<N-1>::value + Fib<N-2>::value>
{};
 
template <>
struct Fib<1> : std::integral_constant<unsigned long long, 1>
{};
 
template <>
struct Fib<0> : std::integral_constant<unsigned long long, 1>
{};
 
int main()
{
   std::cout << Fib<0>() << "\n";
   std::cout << Fib<1>() << "\n";
   std::cout << Fib<2>() << "\n";
   std::cout << Fib<3>() << "\n";
   std::cout << Fib<4>() << "\n";
   std::cout << Fib<5>() << "\n";
   std::cout << Fib<6>() << "\n";
   std::cout << Fib<7>() << "\n";
   std::cout << Fib<8>() << "\n";
   std::cout << Fib<9>() << "\n";
}
1
29.07.2015, 13:07

Не по теме:

Цитата Сообщение от Butt-Head Посмотреть сообщение
Я насоздавал тем, чтоб самому не парится, если вдруг у кого есть линк на тред с уже решённым вопросом.
Если линка нет, тогда тут дело сугубо добровольное
так в том то и дело,что эти линки вы и сами найдете за пару минут.Зачем множить сущности?

0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,649
Записей в блоге: 6
29.07.2015, 13:10
DiffEreD, здорово, что бы вычислить число фиббоначи нужно перекомпилировать программу?
0
Заблокирован
29.07.2015, 13:10  [ТС]
DiffEreD, хмм а где там рекурсия ?
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.07.2015, 13:20
Цитата Сообщение от Butt-Head Посмотреть сообщение
хмм а где там рекурсия
Здесь шаблонная рекурсия:
C++
1
Fib<N-1>::value + Fib<N-2>::value
Будет идти пока не встретится явная специализация шаблона Fib<1> или Fib<0>
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
29.07.2015, 13:22
DiffEreD, зачем так, есть же constexpr.

Вообще тупое задание, кто ж считает числа фибоначчи рекурсией. Там ужасная алгоритмическая сложность.
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
29.07.2015, 13:29
Цитата Сообщение от ct0r Посмотреть сообщение
зачем так, есть же constexpr
Ну так в std::integral_constant есть и constexpr T value и constexpr operator ()() const;
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
29.07.2015, 13:48
Цитата Сообщение от DiffEreD Посмотреть сообщение
Ну так в std::integral_constant есть и constexpr T value и constexpr operator ()() const;
Я про то, что если хочется посчитать рекурсивно и в компайл-тайм, то так лучше:
C++
1
2
3
4
5
6
constexpr uint64_t fib(uint32_t n)
{
    if (n == 0) return 0;
    if (n == 1) return 1;
    return fib(n - 1) + fib(n - 2);
}
1
Заблокирован
29.07.2015, 13:51  [ТС]
Цитата Сообщение от ct0r Посмотреть сообщение
Вообще тупое задание, кто ж считает числа фибоначчи рекурсией. Там ужасная алгоритмическая сложность.
Да это как бы не задание, а вопрос из теста...
ct0r, DiffEreD, а в рантайме как бы повыпендрёжней и по эффективней посчитать?
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
29.07.2015, 13:55
Цитата Сообщение от Butt-Head Посмотреть сообщение
а в рантайме как бы повыпендрёжней и по эффективней посчитать?
Есть много методов, включая как точные, так и приблизительные. Вот пример http://habrahabr.ru/post/148336/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.07.2015, 13:55
Помогаю со студенческими работами здесь

Given natural number n. Calculate expression
Помогите решить задачу плс парни! очень надо сегодня заканчивается Deadline Given natural number n. Calculate expression: Note that...

Arrays. Calculate the number of items greater than 5
народ помогите написать программу Write the program code according to the developed algorithm using dynamic arrays, user-defined...

Given natural number n. Calculate the expression shown on image
Given natural number n. Calculate the expression shown on image Example: Input: 1 Output: 1.41421 Example:

function sequence error!!
пишу update таблицы типа: update my_table set f1='aa',f2=2,f3=5 where f1='ss' and f2=3 and f3=6 возвращается сообщение: Function...

Int number = 2; Console.WriteLine(++number - number-- * ++number); Выводит -6; Как ?
Знающие, объясните, пожалуйста. Каким чудом тут получается -6 ? O_o int number = 2; Console.WriteLine(++number - number-- *...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru