On-line: гостей 0. Всего: 0 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 26.05.18 16:44. Заголовок: Вывод последовательности чисел Фибоначчи на консоль.


Есть много примеров кода, которые можно найти на просторах интернет, как вывести последовательность чисел Фибоначчи на консоль в C++..Я решил создать эту тему по той причине, что в моем примере кода используется оригинальный подход. Оригинальность моего подхода состоит в том, что в нем используется стандартная C++ функция std::exchange, применение которой в контексте генерации последовательности чисел Фибоначчи мне еще не приходилось встречать. Возможно, что я первый, кто использовал функцию std::exchange для данной задачи.

Ниже приведена демонстрационная программа.

 
#include <iostream>
#include <functional>

int main()
{
while ( true )
{
std::cout << "Enter a number of fibonacci numbers to output (0 - exit): ";

size_t n;

if ( not ( std::cin >> n ) or ( n == 0 ) ) break;

std::cout << '\n';

for ( size_t a = 0, b = 1, i = 0; i < n; i++ )
{
std::cout << i << ": " << ( i == 0 ? a : b ) << '\n';

if ( i ) b += std::exchange( a, b );
}

std::cout << '\n';
}
}


Вывод программы на консоль может выглядеть, например, так

 
Enter the number of fibonacci numbers to output (0 - exit): 1

0: 0

Enter the number of fibonacci numbers to output (0 - exit): 2

0: 0
1: 1

Enter the number of fibonacci numbers to output (0 - exit): 3

0: 0
1: 1
2: 1

Enter the number of fibonacci numbers to output (0 - exit): 4

0: 0
1: 1
2: 1
3: 2

Enter the number of fibonacci numbers to output (0 - exit): 5

0: 0
1: 1
2: 1
3: 2
4: 3

Enter the number of fibonacci numbers to output (0 - exit): 6

0: 0
1: 1
2: 1
3: 2
4: 3
5: 5

Enter the number of fibonacci numbers to output (0 - exit): 7

0: 0
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8

Enter the number of fibonacci numbers to output (0 - exit): 8

0: 0
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13

Enter the number of fibonacci numbers to output (0 - exit): 9

0: 0
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13
8: 21

Enter the number of fibonacci numbers to output (0 - exit): 0


Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 3
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет