斐波那契数列: 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;
}