*烟台大学计算机学院学生
*All right reserved.
*文件名称*烟台大学计算机学院学生
*All right reserved.
*文件名称:n个人有n个帽子,每个人都不带自己帽子的可能性
*作者:杨飞
*完成日期:2014年3月21日
*版本号:v1.0
*对任务及求解方法的描述部分:n个人有n个帽子,每个人都不带自己帽子的可能性
*我的程序:
#include <iostream>
using namespace std;
int fei(int n);
int main()
{
int n;
cout<<"请输入人数:(有多少人就有多少的帽子)"<<endl;//有多少人就有多少的帽子
cin>>n;
cout<<"每个人都带错自己帽子的可能性:"<<fei(n)<<endl;
return 0;
}
int fei(int n)
{ int m;
if(n==1)
{
m=0;
}
else if(n==2)
{
m=1;
}
else if(n>2)
{
m=(n-1)*(fei(n-1)+fei(n-2));
}
return m;
}
运行结果:
心得体会:递归真的太了不起,关键在于找到n-1项到n项的关系,然后写程序就简单的多了,我们要体会这种思想,并在以后的编程中可以运用自如!!!今天听了老师讲的递归,我觉得和以前数学上学的数学归纳法,只有n-1成立,n项成立必须在n-1的结果上成立才可以,也许递归就是这种思想,好好体会!!!哎!!!!