#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int n=0;
int sum=0;
cin>>n; //有多少個空格
string rage(int res,string str);
cout<<rage(n,"*")<<endl;
for(int i=0;i<rage(n,"*").length();i++)//*號是拿來隔開字符串的
if(rage(n,"*")[i]=='*')
sum++;//計算有多少種組合方式
cout<<"sum"<<sum;
}
string rage(int res,string str)
{
if(res!=0)
return rage(res-1,str+"A")+rage(res-1,str+"B")+rage(res-1,str+"C");
else
return str+"";
}
上面這個代碼的結果就是輸出ABC在n個位置下面的排列組合的字符串。。。用*號或者別的什麼東西隔開就可以求到有多少個排列組合。。。。。。
比如n=5