某个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?
2018-03-13 14:44
1106 查看
(递归)某个人写了n封不同的信及相应的n个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种?#include <stdio.h>
int fun(int n){
if(n==0||n==1)
return 0;
if(n==2)
return 1;
else{
return (n-1)*(fun(n-1)+fun(n-2));
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
printf("%d",fun(n));
}
return 0;
}
int fun(int n){
if(n==0||n==1)
return 0;
if(n==2)
return 1;
else{
return (n-1)*(fun(n-1)+fun(n-2));
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
printf("%d",fun(n));
}
return 0;
}
相关文章推荐
- 组合数学之把n个不同的东西分给k个人,共有多少种分法
- n个不同的东西分给k个人,共有多少种分法
- 某人写了n封信和n个信封,如果所有的信都装错了信封。求所有的信都装错信封共有多少种不同情况?
- (递归)某人写了n封信和n个信封,如果所有的信都装错了信封。求所有的信都装错信封共有多少种不同情况。
- win10个人设置优化总结(有不同见解的请给我留言讨论)(有图)
- N*M网格中两对角有多少种不同的路径?(递归)
- DbUtils的使用(个人理解,有不同的可以指出)
- [导入]给定一个英文原文,统计文件里面一共有多少个不同的英文单词
- 五本不同的书分给3个人,求不同的分发
- 利用钩子函数来注入DLL的一个具体应用:点击桌面不同图标,播放相应音符
- 50个人围成一圈数到3和3的倍数时出圈,问剩下的人是谁?在原来的位置是多少(简单易懂)
- n个人排名,允许并列名次,共有多少种排名结果?
- 【程序23】TestAge.java 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 //问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个
- 有6种不同颜色的球,每种球有无数个。现在取5个球,求取出5、4、3、2种不同颜色球的概率分别为多少----网易游戏
- 看这个算式:☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种可能的正确填写方法?
- 二叉树不同层数的有多少种
- 【转载】随机生成k个范围为1-n的随机数,其中有多少个不同的随机数?
- 使用git同步个人在不同电脑上的代码问题
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 给一个正整数n,求从1到n能构造多少种不同形状的二叉查找树(BST)