错排公式 f(n) = (n-1)(f(n-1)+f(n-2));
注意范围
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
if (n==2) {
System.out.println(1);
continue;
}
long a = 0;
long b = 1;
long c = 0;
for (int i = 3; i <= n; i++) {
c = (i-1)*(a+b);
a = b;
b = c;
}
System.out.println(c);
}
sc.close();
}
}