1 条题解

  • 0
    @ 2023-6-11 12:20:41

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    int xinfeng(int n){
    	if(n==1)return 0;
    	else if(n==2)return 1;
    	else return (n-1)*(xinfeng(n-1)+xinfeng(n-2));
    }
    int main(){
    	cin>>n;
    	cout<<xinfeng(n);
        return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	static int d[] = new int[13];
    	static int xinfeng(int n) {
    		if(n==1) d[n]=0;
    		else if(n==2) d[n]=1;
    		else if(n>2) d[n] = (n-1)*(xinfeng(n-1)+xinfeng(n-2));
    		return d[n];
    	}
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		System.out.println(xinfeng(n));
    		sc.close();
    	}
    
    }
    
    
    • 1

    信息

    ID
    2564
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者