/* 邵发, 1309班, */ /* 作业03, 练习1 某人马虎,将写的n封信和n个信封全部装错。设Dn为n封信装错信封可能的种类。可用下面的递推公式: Dn=(n-1)(Dn-1+Dn-2) D2=1 D1=0 编程求Dn,n由键盘输入。 */ #include <stdio.h> #include <string.h> #include <stdlib.h> int Dn(int n) { if(n==1) return 0; if(n==2) return 1; return (n-1) * (Dn(n-1) + Dn(n-2)); } int ex03_01() { int n; printf("enter a number: n="); scanf("%d", &n); int result = Dn(n); printf("D(%d) = %d \n", n, result); return 0; }