<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++>排列组合简易求法。。

猜你喜欢

转载自blog.51cto.com/kayseloyyy/2126105