<Qt/C++>排列組合簡易求法。。

#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
<Qt/C++>排列組合簡易求法。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章