4.1 基础-放苹果(整数划分)
生活随笔
收集整理的這篇文章主要介紹了
4.1 基础-放苹果(整数划分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
題目描述
把M個同樣的蘋果放在N個同樣的盤子里,允許有的盤子空著不放,問共有多少種不同的分法?(用K表示)5,1,1和1,5,1?是同一種分法。
輸入
每個用例包含二個整數M和N。0<=m<=10,1<=n<=10。
樣例輸入
7?3
樣例輸出
8
思路
整數劃分的思想,詳見博客https://blog.csdn.net/weixin_35909255/article/details/54896972
代碼
#include <iostream> using namespace std; int pp(int m,int n) {if(m==0 || n==1) {return 1;}if(m<n) {//蘋果數小于盤子數,多余的盤子無意義 return pp(m,m);}else{//至少空一個盤子+盤子放滿return pp(m,n-1)+pp(m-n,n);} } int main() {int m,n;while(cin>>m>>n){cout<<pp(m,n)<<endl; } return 0; }?
總結
以上是生活随笔為你收集整理的4.1 基础-放苹果(整数划分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.2 进阶-好多鱼
- 下一篇: 十六进制转十进制