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

Последовательность фибоначи - C++

Восстановить пароль Регистрация
 
sirserik
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 156
10.07.2011, 15:08     Последовательность фибоначи #1
Люди скажите как вывести в цикле последовательность чисел Фибоначи только через for\


Чи́сла Фибона́ччи — элементы числовой последовательности
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
10.07.2011, 15:30     Последовательность фибоначи #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    int N;
    std::cin >> N;
    int *A = new int [N];
    A[0] = 0;
    A[1] = 1;
    for ( int i = 2; i < N; ++i )
        A[i] = A[i - 1] + A[i - 2];
    for ( int i = 0; i < N; ++i )
        std::cout << A[i] << " ";
    return 0;
}

или без массива...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main()
{
    int N;
    std::cin >> N;
    int A = 0, B = 1, X;
    std::cout << A << " " << B << " ";
    for ( int i = 2; i < N; ++i )
    {
        X = A + B;
        std::cout << X << " ";
        A = B;
        B = X;
    }
    return 0;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.07.2011, 15:31     Последовательность фибоначи #3
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
#include <iostream>
 
void fib(size_t number)
{
    unsigned long long fib1 = 1;
    unsigned long long fib2 = 1;
    unsigned long long fib3;
 
    std::cout << (number == 0 ? "" : number == 1 ? "1" : number == 2 ? "1 1" : "1 1 ");
 
    for (size_t i = 3; i <= number; ++i)
    {
        fib3 = fib1 + fib2;
 
        std::cout << fib3 << " ";
 
        fib1 = fib2;
        fib2 = fib3;
    }
 
    std::cout << std::endl;
}
 
int main()
{
    fib(0);
    fib(1);
    fib(2);
    fib(3);
    fib(4);
    fib(20);
 
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.07.2011, 15:31     Последовательность фибоначи #4
На сколько знаю, последовательность Фибоначи должна всё-таки с 1 начинаться. Есть забавная байка, про то, как Фибоначи вывел свою последовательность решая задачку про кроликов... "Пара кроликов приносит ещё одну пару каждый месяц начиная со второго. Если изначально была одна пара кроликов, посчитать, сколько их через год будет".
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int main(void){
    int last[2] = { 1, 1 }, i, needed, cur;
    
    printf("Numbers needed: ");
    scanf("%d", &needed);
    
    for ( i = 0; i < needed; ++i ){
        if ( i < 2 )
            printf("1, ");
        else {
            cur = last[0] + last[1];
            last[0] = last[1];
            last[1] = cur;
            printf("%d, ", cur);
        }
    }
    
    printf("\n");
    return 0;
}
Yandex
Объявления
10.07.2011, 15:31     Последовательность фибоначи
Ответ Создать тему
Опции темы

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