mas1724 2019-05-07 19:11 采纳率: 0%
浏览 1318

把M个不同的桔子放在N个同样的盘子里,不允许有的盘子空着不放,问共有多少种不同的分法?

大神帮解
急!!!
用递归 C++
题目描述
把M个不同的桔子放在N个同样的盘子里,不允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)
说明: M=2,N=2时,({1} ,{2} ) 和( {2} ,{ 1} ) 是同一种分法。
输入
一行均包含二个整数M和N,以空格分开。1<=M,N<=10
输出
一行,一个整数K,可行的方案数。
样例输入
7 3
样例输出
4
注:不允许有盘子空着不放

需大神帮改代码
#include
using namespace std;
int apple(int m, int n)
{
if(m if(m==1 ||n==1) return 1;
return apple(m-n,n)+apple(m,n-1);
}
int main()
{
int m,n;
cin>>m>>n;
cout<<apple(m,n)<<endl;
return 0;
}
这是允许有空盘的需大神帮改为不允许有盘子空着不放的,谢谢

  • 写回答

2条回答 默认 最新

  • 未雨71 2023-04-25 00:06
    关注
    
    #include<iostream>
    using namespace std;
    int k=1;
    int fun(int m,int n){
        if(k==1){
            if(m<=1 || n<=1)return 1; 
            if(n>=m) return 1;
            else{
                return fun(m-n-n,n)+fun(m,n-1);
            }    
        }else{
            if(m<=1 || n<=1)return 1; 
            if(n>=m) return 1;
            else{
                return fun(m-n,n)+fun(m,n-1);
            }
        } 
        k++;    
    }
    int main(){
        int m,n;
        cin >> m >> n;
        cout << fun(m,n);
        return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)