С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
_Dakota_
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 12
#1

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

22.12.2011, 00:35. Просмотров 844. Ответов 6
Метки нет (Все метки)

Задача состоит в том,чтобы вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М и она должна быть на Си,может кто помочь?Да,и написана через функции ввода,обработки информации и вывода
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 00:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить сумму всех чисел Фибоначчи (C++):

Вычислить сумму всех чисел Фибоначчи не превышающих N - C++
Дано натуральное число N > 10 . Вычислить сумму всех чисел Фибоначчи которые не превышают N . Числа Фибоначчи образуются по закону : ...

Вычислить сумму всех чисел Фибоначчи, которые не превышают n - C++
Вот попроси ли написать несколько простых программок, алгоритм понимаю, а синтаксис вспомнить не могу, институт давно закончил а с...

Вычислить сумму всех чисел Фибоначчи, которые не превосходят 100 - C++
Здравствуйте. Помогите, пожалуйста, в написании алгоритма на C++. Числа Фиббоначчи { F } определяются по формулам F = F = 1; F = F + F...

Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000 - C++
Дорогие программисты, помогите мне с такой вот задачкой, никак не могу решить.Написать на с++ вычислить сумму всех чисел фибоначчи...

Ввести одномерный массив из n элементов. Вычислить сумму всех отрицательных чисел, их количество и сумму всех - C++
Ввести одномерный массив из n элементов. Вычислить сумму всех отрицательных чисел, их количество и сумму всех положительных чисел. Вот...

Вычислить сумму чисел Фибоначчи не превышающих N - C++
Дано натуральное число N > 10 . Вычислить сумму всех чисел Фибоначчи которые не превышают N . Числа Фибоначчи образуются по закону : ...

6
hoot
101 / 22 / 5
Регистрация: 10.11.2010
Сообщений: 205
22.12.2011, 00:59 #2
могу на С++
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
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;
}
1
_Dakota_
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 12
22.12.2011, 01:20  [ТС] #4
А зачем команда #define M(234)?нам же надо самим вводить его
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
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;
}
0
alkagolik
Заблокирован
22.12.2011, 03:04 #6
а если http://www.cyberforum.ru/cgi-bin/latex.cgi?M > 2^{64} - 1 ?
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.12.2011, 03:12 #7
alkagolik, тогда пичаль
да тема оказывается еще и про сумму
0
22.12.2011, 03:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 03:12
Привет! Вот еще темы с ответами:

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

Вычислить сумму чисел Фибоначчи, значение которых не превосходит 500 - C++
с++ Вычислить сумму чисел Фибоначчи , значение которых не превосходит 500.

Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи. - C++
Всем привет! помогите с задачкой! заранее спасибо.! Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи.

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.