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

Математические задачи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заголовочные файлы http://www.cyberforum.ru/cpp-beginners/thread424823.html
#ifndef _MYCLASS_H #define _MYCLASS_H class myclass{//Описание класса}; #endif Сказано, что заголовочные файлы обычно включают специальные константы (sentry), которые сообщают компилятору, что...
C++ Нулевой указатель Что происхот при: int* p = NULL; cout << *p; Другими словами, на что ссылается нулевой указатель? Компилятор ошибок не выдает. http://www.cyberforum.ru/cpp-beginners/thread424822.html
Битовые поля C++
В приложении 1 есть пример использования битовых полей. В выделенной строке структуре присваивается бит, полученный из функции. (Кстати, как функция может вернуть БИТ?) Чтобы обеспечить возможность...
C++ Структуры, содержащие указатели на самих себя
Как вообще возможно существование структур, содержащих указатели на самих себя? struct mystruct{ int a; char ch; mystruct* sptr; // Указатель на объекты типа mystruct }; Например,...
C++ Объясните пожалуйста http://www.cyberforum.ru/cpp-beginners/thread424813.html
Получилось довольно много вопросов, накопилось пока читал книгу. Отблагодарю, как смогу за любую информацию :) Вот они: Как вообще возможно существование структур, содержащих указатели на самих...
C++ Графическая библиотека в Visual Studio 2008 Здравствуйте, у меня такой вопрос: как подключить в Visual Studio 2008 графическую библиотеки и вообще возможно ли это? подробнее

Показать сообщение отдельно
Sadom
11 / 11 / 1
Регистрация: 06.01.2012
Сообщений: 19
09.01.2012, 09:02
№4

Через функцию, реализованную с помощью цикла while
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
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
 
using namespace std;
 
double fib(int n);
 
int main()
{
    int x;
 
    cout << "N = ";
    cin >> x;
    cout << fib(x) << endl;
    
    system("pause");
    return 0;
}
 
double fib(int n)
{
    int first = 0;
    int second = 1;
    if (n == 1)
        return 0;
    else if (n == 2)
        return 1;
    else
    {
    while(n > 2)
    {
        second += first;
        first = second - first;
        n--;
        
        
    }
    return second;
    }   
}
}


Через рекурсивную функцию
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
#include <iostream>
 
double fib(double);
 
int main()
{
    using namespace std;
 
    int number, result;
    
    cin >> number;
    result = fib(number);
    cout << result;
    
    return 0;
}
 
double fib(double n)
{
    if (n == 0 || n == 1)
        return n;
    else
        return fib(n-1) + fib(n-2);
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.