#include<iostream>
using namespace std;//计算一个数字的阶乘
int m_fun(unsigned int num);
int tea_fac(unsigned int n);//斐波那契数列//1 1 2 3 5 8 13//1 2 3 4 5 6 7
int m_ffun(int n);
int tea_ffun(int n);
int main(){//阶乘的递归/循环运算//分治 将一个规模大的问题分解成规模小的问题 子问题与原问题保持一致 规模不断缩小//分解问题 不算分治 分解规模才算 //栈的默认大小时1M 递归会撑爆栈 循环吃CPU 递归会撑爆栈 CPU抢占式多任务 时间到了换出//集群 新建N个和原本程序/进程一样的进程 解决问题//分布式 每个功能分开为不同的功能 每个功能一个服务器
int a =m_fun(10);
int b =tea_fac(10);
int c =m_ffun(10);
cout << a << endl;return0;}
int m_fun(unsigned int num){static int sum =1;if(num >1){m_fun(num -1);
sum *= num;}return sum;}
int tea_fac(unsigned int n){if(n <=1)return1;elsereturntea_fac(n -1)* n;}
int m_ffun(int n){if(n <3){if(n ==1)return1;elsereturn2;}
int a =1;
int b =1;
int c =1;for(int i =3; i < n;++i){
c = a + b;
a = b;
b = c;}return c;}
int tea_ffun(int n){if(n <=2)return1;elsereturntea_ffun(n -1)+tea_ffun(n -2);return0;}