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

Вычислить сумму всех чисел Фибоначчи - C++

Восстановить пароль Регистрация
 
_Dakota_
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 12
22.12.2011, 00:35     Вычислить сумму всех чисел Фибоначчи #1
Задача состоит в том,чтобы вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М и она должна быть на Си,может кто помочь?Да,и написана через функции ввода,обработки информации и вывода
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 00:35     Вычислить сумму всех чисел Фибоначчи
Посмотрите здесь:

Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи. C++
Вычислить сумму чисел Фибоначчи, значение которых не превосходит 500 C++
Вычислить сумму всех чисел Фибоначчи, которые не превосходят 100 C++
C++ Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000
C++ Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hoot
 Аватар для hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 193
22.12.2011, 00:59     Вычислить сумму всех чисел Фибоначчи #2
могу на С++
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
22.12.2011, 00:59     Вычислить сумму всех чисел Фибоначчи #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
unsigned fibonnachi(unsigned a, unsigned b)
{
   if (0 == a)
   {
     return 1;
   } 
   else
   {
     return (a + b);
   }
}
 
#define M (234)
 
int main()
{
   unsigned a, b, c;
  
   for (a=b=c=0 ; c <= M ; a=b, b=c, c=fibonnachi(a,b));
   printf ("%u\n", b);   
   return 0;
}
_Dakota_
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 12
22.12.2011, 01:20  [ТС]     Вычислить сумму всех чисел Фибоначчи #4
А зачем команда #define M(234)?нам же надо самим вводить его
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
22.12.2011, 01:38     Вычислить сумму всех чисел Фибоначчи #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
ну добавьте scanf("%lf", &M);

мне больше нравится такой вариант:

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
#include <stdio.h>
#include <math.h>
 
#define M (234)
 
static double fi = (1. + sqrt(5.)) / 2.;
static double log_fi = log(fi);
static double eps = 1e-4;
 
int _round (double value)
{
   return (int) floor(value + 0.5);
}
 
int main()
{  
   double M_f = log( sqrt(5.) * M ) / log_fi, M_n = _round(M_f),
          M_e = fabs(M_f - M_n);
          
   int res;
   
   if   (M_e < eps) res = M;
   else res = _round (pow(fi, M_n - 1) / sqrt(5.));
   
   printf ("%d\n", res);
   return 0;
}
Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
unsigned fibonnachi(unsigned a, unsigned b)
{
   if (0 == a)
   {
     return 1;
   } 
   else
   {
     return (a + b);
   }
}
 
int main()
{
   unsigned a, b, c, M;
 
   if (1 != scanf ("%u", &M)) return -1;
  
   for (a=b=c=0 ; c <= M ; a=b, b=c, c=fibonnachi(a,b));
   printf ("%u\n", b);   
   return 0;
}
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
22.12.2011, 03:04     Вычислить сумму всех чисел Фибоначчи #6
а если http://www.cyberforum.ru/cgi-bin/latex.cgi?M > 2^{64} - 1 ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 03:12     Вычислить сумму всех чисел Фибоначчи
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
22.12.2011, 03:12     Вычислить сумму всех чисел Фибоначчи #7
alkagolik, тогда пичаль
да тема оказывается еще и про сумму
Yandex
Объявления
22.12.2011, 03:12     Вычислить сумму всех чисел Фибоначчи
Ответ Создать тему
Опции темы

Текущее время: 16:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru