Advertisement

递归取数(递归方法)

阅读量:

给定两个数值m与n,任务是从1到m的范围内选取n个数值,并将所有可能的组合形式进行输出。
样例输入

复制代码
    3 2
    
    
      
    

样例输出

复制代码
    3 2
    3 1
    2 1
    
    
      
      
      
    

以下为相关代码实现:

复制代码
    #include <iostream>
    using namespace std;
    int f[50];
    int n,m;
    void find(int n,int m)
    {
    	for(int i=n;i>=m;i--)
    	{
    		f[m]=i;
    		if(m>1)
    		{
    			find(n-1,m-1);
    		}
    		else
    		{
    			for(int i=n;i>=1;i--)
    			cout<<f[i]<<" ";
    			cout<<endl;
    		}
    	}
    }
    int main()
    {
    	cin>>n>>m;
    	find(n,m);
    	return 0;
    }
    
    
      

全部评论 (0)

还没有任何评论哟~