斐波那契数列递归方式和循环方式
斐波那契数列: 1 1 2 3 5 8…… N
斐波那契递归方式:
#include <cstdio> #include <cstdlib> #include <iostream> // 1 1 2 3 5 8...... int fib_di(unsigned int n) { if (n == 1) { return 1; } else if (n == 2) { return 1; } else { return(fib_di(n - 1) + fib_di(n - 2)); } } int main(void) { int num; std::cout << "num = "; std::cin >> num; std::cout << fib_di(num) << std::endl; system("pause"); return 0; }
斐波那契循环的方式:
#include <cstdio> #include <cstdlib> #include <iostream> // 1 1 2 3 5 8...... int fib_xun(unsigned int n) { int a1 = 1; int a2 = 1; int fn = 0; if (n == 1) { return a1; } else if (n == 2) { return a2; } else { while(n > 2) { fn = a1 + a2; a1 = a2; a2 = fn; n--; } } return fn; } int main(void) { int num; std::cout << "num = "; std::cin >> num; std::cout << fib_xun(num) << std::endl; system("pause"); return 0; }
版权声明:本文为chien-ma原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。