C++

Count Derangements

SpeeDr00t 2016. 8. 3. 16:36
반응형

Count Derangements

1.소스

#include <iostream>
using namespace std;

int countDer(int n)
{

    // Base cases
    if (n == 1) return 0;
    if (n == 0) return 1;
    if (n == 2) return 1;

// countDer(n) = (n-1)[countDer(n-1) + der(n-2)]

return (n-1)*(countDer(n-1) + countDer(n-2));
}

// Driver program
int main()
{

    int n = 4;
    cout << "Count of Derangements is " << countDer(n);

return 0;
}

결과

hacker@ubuntu:~/c$ 
hacker@ubuntu:~/c$ 
hacker@ubuntu:~/c$ 
hacker@ubuntu:~/c$ g++ -o count_der1 count_der1.cpp 
hacker@ubuntu:~/c$ 
hacker@ubuntu:~/c$ 
hacker@ubuntu:~/c$ ./count_der1 
Count of Derangements is 9
hacker@ubuntu:~/c$ 
hacker@ubuntu:~/c$ 

반응형