求个C语言一道算法题的算法
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/23 23:33:14
求个C语言一道算法题的算法
ABCDEFG每个人对应1234567号 他们每个人都拿不到自己号码的情况 这个算法该是怎样
ABCDEFG每个人对应1234567号 他们每个人都拿不到自己号码的情况 这个算法该是怎样
这个给一个思路吧
f(1)= 0;
f(2)= 1;
f(n)= (n-1)(f(n-1)+f(n-2))
用递归就可了.
理由:假设现在n-1个人 ,有f(n-1)中方式 那么 现在增加一个人,这个人可以其中的任何一种方式的任何一个人交换 这样 为 (n-1)*f(n-1)
再次,本来n-1个人中有一个人自己拿自己 这样 是 f(n-2)(n-1) ,拿自己号码的人和新加的人换,所以成立.
有上、得 f(n)= (n-1)(f(n-1)+f(n-2))
f(1)= 0;
f(2)= 1;
f(n)= (n-1)(f(n-1)+f(n-2))
用递归就可了.
理由:假设现在n-1个人 ,有f(n-1)中方式 那么 现在增加一个人,这个人可以其中的任何一种方式的任何一个人交换 这样 为 (n-1)*f(n-1)
再次,本来n-1个人中有一个人自己拿自己 这样 是 f(n-2)(n-1) ,拿自己号码的人和新加的人换,所以成立.
有上、得 f(n)= (n-1)(f(n-1)+f(n-2))