Форум » C/C++ для начинающих (C/C++ for beginners) » Вывод последовательности чисел Фибоначчи на консоль. » Ответить

Вывод последовательности чисел Фибоначчи на консоль.

Сыроежка: Есть много примеров кода, которые можно найти на просторах интернет, как вывести последовательность чисел Фибоначчи на консоль в C++..Я решил создать эту тему по той причине, что в моем примере кода используется оригинальный подход. Оригинальность моего подхода состоит в том, что в нем используется стандартная C++ функция std::exchange, применение которой в контексте генерации последовательности чисел Фибоначчи мне еще не приходилось встречать. Возможно, что я первый, кто использовал функцию std::exchange для данной задачи. Ниже приведена демонстрационная программа. [pre2] #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'; } } [/pre2] Вывод программы на консоль может выглядеть, например, так [pre2] 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[/pre2]

Ответов - 0



полная версия страницы