#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
//从n个人里面选择k个人选择一个委员会的不同足组合数
int com(int n, int k)
{
if (k > n)
{
return 0;
}
else if (n == k || k == 0)
{
return 1;
}
else
{
return com(n - 1, k) + com(n - 1, k - 1);
}
}
int main()
{
int k = 0, n = 0;
cin >> n >> k;
cout << com(n, k);
return 0;
}
题目二:汉诺塔问题
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int sum = 0;
int hannuo(int n, char a, char b, char c)
{
if (n == 1)
{
sum += 1;
cout << "第" << sum << "步" << a << "-->" << c << endl;
return 0;
}
else
{
hannuo(n - 1, a,c,b);
sum += 1;
cout << "第" << sum << "步" << a << "-->" << c<<endl;
hannuo(n - 1, b, a, c);
}
}
int main()
{
int n;
cin >> n;
hannuo(n, 'A', 'B', 'C');
}