C++:分苹果【排列组合】

描述

把M个同样的苹果放到N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示),5,1,1和1,5,1是同一种分法。

输入描述

两个整数M和N,以空格分开,1<=M,N<=10。

输出描述

输出相应的K。

用例输入 1

复制代码
7 3

用例输出 1

复制代码
8

AC code

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int apple(int m, int n)
{
	if (m < 0 ) {
		return 0;
	}
	if (m == 1 || n == 1) {
		return 1;
	}
	return apple(m, n-1) + apple(m-n, n);
}
int main()
{
	int m = 0, n = 0;
	scanf("%d", &m);
	scanf("%d", &n);
	printf("%d", apple(m, n));
	return 0;
}

这道题其实跟排列组合关系不大。。。

相关推荐
一定要AK4 小时前
刷题时的学习笔记
c++·笔记·学习
cch89186 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
荒川之神7 小时前
拉链表概念与基本设计
java·开发语言·数据库
workflower7 小时前
用硬件换时间”与“用算法降成本”之间的博弈
人工智能·算法·安全·集成测试·无人机·ai编程
chushiyunen7 小时前
python中的@Property和@Setter
java·开发语言·python
小樱花的樱花8 小时前
C++ new和delete用法详解
linux·开发语言·c++
froginwe118 小时前
C 运算符
开发语言
fengfuyao9858 小时前
低数据极限下模型预测控制的非线性动力学的稀疏识别 MATLAB实现
开发语言·matlab
摇滚侠8 小时前
搭建前端开发环境 安装 nodejs 设置淘宝镜像 最简化最标准版本 不使用 NVM NVM 高版本无法安装低版本 nodejs
java·开发语言·node.js