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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 5.00
Trisha Ray
80 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 93
08.10.2012, 22:18     Разработайте функцию вычисления n-го члена рада Фибоначчи #1
Программа, которая позволяет найти предел отношения двух последовательных чисел ряда
Фибоначчи с заданной точностью.
Ряд Фибоначчи: 1 1 2 3 5 8 13 21 и т.д.
При разработке данной программы и во всех последующих лабораторных работах используйте
технологию структурного программирования.
Разработайте функцию вычисления n-го члена рада Фибоначчи, которую будете использовать для
определения предела.
Предел отношения двух последовательных чисел ряда Фибоначчи равен коэффициенту "золотого
сечения". Программа должна находить этот предел с заданной точностью.
Считают, что значение определено с заданной точностью, если абсолютная величина разности двух
последовательных приближений результата, полученных при различных значениях n, не превышает
заданной погрешности. Таким образом, в программе необходимо задавать значение погрешности.

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

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

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

Определение члена ряда Фибоначчи C++
C++ Вычисления n-го члена арифметической прогрессии
C++ Реализовать рекурсивную функцию вычисления n-ого числа из последовательности Фибоначчи по формуле: Fib(0)=1, Fib(1)=1, Fib(n)= Fib(n-1)+ Fib(n-2).
C++ Разработайте функцию для удаления из Си-программы всех комментариев
Вывод рекуррентной формулы для вычисления члена ряда C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bootcd
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 4
08.10.2012, 23:18     Разработайте функцию вычисления n-го члена рада Фибоначчи #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;
 
}

Может чем поможет.
Я бы дальше сделал, но там какоето совсем мутное задание.
cin_cout
25 / 25 / 7
Регистрация: 06.10.2012
Сообщений: 114
09.10.2012, 01:37     Разработайте функцию вычисления n-го члена рада Фибоначчи #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 нашел опытным путем, но объяснить сейчас не смогу
vova9522
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 13
05.10.2013, 18:48     Разработайте функцию вычисления n-го члена рада Фибоначчи #4
а на СИ напишите пожалуйста
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
05.10.2013, 18:57     Разработайте функцию вычисления n-го члена рада Фибоначчи #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);
         }
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
05.10.2013, 19:25     Разработайте функцию вычисления n-го члена рада Фибоначчи #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);
         }
ребят, где так учат программированию?
mrNicko
2 / 3 / 1
Регистрация: 02.10.2013
Сообщений: 29
05.10.2013, 19:34     Разработайте функцию вычисления n-го члена рада Фибоначчи #7
Цитата Сообщение от salam Посмотреть сообщение
ребят, где так учат программированию?
Это сделал не я. У меня валялся файлик с этим. А вообще я не быдло-кодер
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2014, 08:47     Разработайте функцию вычисления n-го члена рада Фибоначчи
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
groser
1 / 1 / 0
Регистрация: 26.02.2014
Сообщений: 25
19.04.2014, 08:47     Разработайте функцию вычисления n-го члена рада Фибоначчи #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.
Простите за паскаль! Просто у меня плохо с С. Но, я думаю, этот код будет всем понятен.
Yandex
Объявления
19.04.2014, 08:47     Разработайте функцию вычисления n-го члена рада Фибоначчи
Ответ Создать тему
Опции темы

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