1 solutions

  • 0
    @ 2025-3-3 16:28:35

    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

    Information

    ID
    10223
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By