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

Через рекурсию посчитать сумму элементов фиббоначи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм КМП(Кнута-Морриса-Пратта ) http://www.cyberforum.ru/cpp-beginners/thread1136416.html
нужно с помощью алгоритма КМП найти первое вхождение одной числовой последовательности в другую ... не сроки! спасибо
C++ Интеллект компьютера в игре Крестик-Нолик вот написал себе игру крестик нолик. Все нормально получилось. Просто вот не могу объяснить компьютеру как правильно думать. У меня есть схема тактики в игре. Вот: А вот и сам код #include... http://www.cyberforum.ru/cpp-beginners/thread1136395.html
C++ Выполнить сортировку по убыванию. Пирамидальная сортировка
Выполнить сортировку по убыванию. Пирамидальная сортировка и сортировка слияния. Размерность массива меняется от 10 до 100 шагом 10. Массив заполнен случайным образом (неупорядочен). template<...
C++ Проверить что цифры данного трехзначного числа образуют возрастающую последовательность
1 Проверить истинность высказывания: "Цифры данного трехзначного числа образуют возрастающую последовательность" помогите написать программу :( Добавлено через 29 минут Что не кто не знает? ...
C++ Определить попадание произвольной точки в заштрихованную область http://www.cyberforum.ru/cpp-beginners/thread1136321.html
Помогите пожалуйста, не могу сделать эту задачу (С++)
C++ Определить количество элементов файла, величина которых меньше среднего арифметического всех элементов данного файла В файле находятся вещественные числа. Определить количество элементов файла, величина которых меньше среднего арифметического всех элементов данного файла. Мой код, который следует дополнить, пока... подробнее

Показать сообщение отдельно
castorsky
1953 / 1043 / 78
Регистрация: 29.11.2013
Сообщений: 3,261
02.04.2014, 20:15
Скопирую сюда с адаптацией под данные условия. Есть еще раздолье для оптимизаций алгоритма.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdint.h>
 
uint64_t fibo(int n, uint64_t fib1, uint64_t fib2) {
  return (n < 1) ? fib1 : fibo(n - 1, fib2, fib1 + fib2);
}
 
uint64_t sum_fibs_rec(uint32_t M, uint64_t fib, uint64_t acc, int inc) {
  return inc > M ? acc : sum_fibs_rec(M, fibo(inc, 0, 1), acc + fib, inc + 1);
}
 
uint64_t sum_fibos(uint32_t M) { 
  return sum_fibs_rec(M, 0, 0, 0);
}
 
int main()
{
  printf("%lu\n", sum_fibos(8));  
  return 0;
}
Добавлено через 45 секунд
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
Вот взял функцию для возврата ччисла фиббоначи
Это наихудший вариант из всех алгоритмов нахождения числа фибоначчи.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru