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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 5.00
Trisha Ray
80 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 93
#1

Разработайте функцию вычисления n-го члена рада Фибоначчи - C++

08.10.2012, 22:18. Просмотров 5473. Ответов 7
Метки нет (Все метки)

Программа, которая позволяет найти предел отношения двух последовательных чисел ряда
Фибоначчи с заданной точностью.
Ряд Фибоначчи: 1 1 2 3 5 8 13 21 и т.д.
При разработке данной программы и во всех последующих лабораторных работах используйте
технологию структурного программирования.
Разработайте функцию вычисления n-го члена рада Фибоначчи, которую будете использовать для
определения предела.
Предел отношения двух последовательных чисел ряда Фибоначчи равен коэффициенту "золотого
сечения". Программа должна находить этот предел с заданной точностью.
Считают, что значение определено с заданной точностью, если абсолютная величина разности двух
последовательных приближений результата, полученных при различных значениях n, не превышает
заданной погрешности. Таким образом, в программе необходимо задавать значение погрешности.

Нужно сделать без массивов, с циклами for, while, do-while, if.

Помогите пожалуйста)

Добавлено через 1 час 6 минут
я так поняла, что надо ввести константу золотого сечения = 1,618033..
погрешность, которую вводить с консоли
число n которое является кол-вом членов ряда
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 22:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разработайте функцию вычисления n-го члена рада Фибоначчи (C++):

Написать рекурсивную функцию для вычисления k-го члена последовательности Фибоначчи - C++
Написать рекурсивную функцию для вычисления k-го члена последовательности Фибоначчи. Она образуется по закону f1=1, f2=1, fk=fi-1+fi-2...

Создать рекурсивную функцию для расчёта n-го члена последовательности Фибоначчи - C++
Всем привет, у меня проблема. Нужно в C++ написать программу, в которой нужно создать рекурсивную функцию для расчёта n-го члена...

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

Напишите функцию для вычисления и-го числа Фибоначчи - C++
Напишите функцию для вычисления и-го числа Фибоначчи. Реализуйте функцию итеративно и рекурсивно. Скорость рекурсивной версии не должна...

Написать рекурсивную функцию вычисления числа из ряда Фибоначчи, номер которого вводится с клавиатуры - C++
2. Написать рекурсивную функцию вычисления числа из ряда Фибоначчи, номер которого вводится с клавиатуры. помогите понять рекурсию

Определение члена ряда Фибоначчи - C++
У Дейтлов есть задача Вопросы по модификации: а) использовать double вместо int. То есть был код #include<iostream> using...

7
bootcd
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 4
08.10.2012, 23:18 #2
Набыдлокодил функцию, вычисляющую n-й член ряда фибоначи:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int NFib(int n) {
    cout << n << "- й член ряда фибоначи равен ";
//a=0 b b=1 - первые 2 члена ряда фибоначи;
//k=2 - счетчик текущего члена;
// buf - вспомогательная переменная;
    int a=0,b=1,k=2,buf;
    while (k!=n) {
        buf=a;
        a=b;
        b=a+buf;
        k++;
    }
    return b;
 
}

Может чем поможет.
Я бы дальше сделал, но там какоето совсем мутное задание.
0
cin_cout
26 / 26 / 7
Регистрация: 06.10.2012
Сообщений: 120
09.10.2012, 01:37 #3
Задания, конечно, формируются некорректно:
1. Программа, которая позволяет найти предел отношения двух последовательных чисел ряда
Фибоначчи с заданной точностью.
2. Предел отношения двух последовательных чисел ряда Фибоначчи равен коэффициенту "золотого
сечения".

Вложенные циклы имхо: ищется n-ый член последовательности фибо, отношение i/i-1, проверка на отклонение от заданной погрешности (скажем, 5%)

Тока придется следить за правилами целочисленного деления. int/int = int, а надо double получить на выходе.

Добавлено через 1 час 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main () {
     double a=0;
     double b=1;
     double n;
     double sum;
     for (int i=0; i<25; ++i){
         n=a+b; 
         a=b;
         b=n;        
        if (((b/a)<1.618*1.05)&&((b/a)>1.618/1.05))
            sum+=b/a;
         cout << n << '\t' << b/a << '\t' << sum/(i-2) << '\n';      
        }
    return 0;
}
Только не пинайте больно. i-2 нашел опытным путем, но объяснить сейчас не смогу
1
vova9522
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 13
05.10.2013, 18:48 #4
а на СИ напишите пожалуйста
0
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
05.10.2013, 18:57 #5
Рекурсивный метод.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
unsigned long fibonacci (unsigned long);
int main ()
{   unsigned long result, number;
    cout<< "vvedite 4islo";
    cin>>number;
    result=fibonacci(number);
    cout<<"4islo fibonacci("<<number<<")="<<result<<endl;
    system ("PAUSE");
    
    }
    
unsigned long fibonacci (unsigned long n)
{if (n==0 || n==1)
return n;
else 
return fibonacci (n-1)+fibonacci(n-2);
         }
0
salam
174 / 155 / 17
Регистрация: 10.07.2012
Сообщений: 764
05.10.2013, 19:25 #6
Цитата Сообщение от mrNicko Посмотреть сообщение
Рекурсивный метод.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
unsigned long fibonacci (unsigned long);
int main ()
{   unsigned long result, number;
    cout<< "vvedite 4islo";
    cin>>number;
    result=fibonacci(number);
    cout<<"4islo fibonacci("<<number<<")="<<result<<endl;
    system ("PAUSE");
    
    }
    
unsigned long fibonacci (unsigned long n)
{if (n==0 || n==1)
return n;
else 
return fibonacci (n-1)+fibonacci(n-2);
         }
ребят, где так учат программированию?
1
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
05.10.2013, 19:34 #7
Цитата Сообщение от salam Посмотреть сообщение
ребят, где так учат программированию?
Это сделал не я. У меня валялся файлик с этим. А вообще я не быдло-кодер
0
groser
1 / 1 / 0
Регистрация: 26.02.2014
Сообщений: 25
19.04.2014, 08:47 #8
Если речь идет о циклах и интервале (0..93), то на паскале самый разумный код будет таким:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a,b:uint64;
c:byte;
begin
  read(c);
  b:=1;
  for c:=1 to c do
  begin
    a:=a+b;
    b:=a-b;
  end;
  write(a);
end.
Если надо быстрее и любое F, то лучше так:
Pascal
1
2
3
4
5
6
7
const f=(1+sqrt(5))/2;
var a:real;
begin
  read(a);
  a:=(power(f,a)-power(1-f,a))/sqrt(5);
  write(a);
end.
Простите за паскаль! Просто у меня плохо с С. Но, я думаю, этот код будет всем понятен.
0
19.04.2014, 08:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2014, 08:47
Привет! Вот еще темы с ответами:

Реализовать рекурсивную функцию вычисления n-ого числа из последовательности Фибоначчи по формуле: Fib(0)=1, Fib(1)=1, Fib(n)= Fib(n-1)+ Fib(n-2). - C++
Реализовать рекурсивную функцию вычисления n-ого числа из последовательности Фибоначчи по формуле: Fib(0)=1, Fib(1)=1, Fib(n)= Fib(n-1)+...

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

В последовательности Фибоначчи найти индекс члена последовательности, удовлетворяющего условию - C++
помогите не могу найти ошибку вводится число A,найти номер К такого числа Фибоначчи ,что Xк-1&lt;=A&lt;Xк. #include &lt;iostream&gt; ...

Функция для вычисления члена ряда - C++
Нужна помощь.(язык с++) Разработать функцию для вычисления члена ряда: Используя разработанную функцию вычислить сумму ряда с...


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

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

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