题解 | #放苹果#

放苹果

https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        int apple = Integer.parseInt(input.split(" ")[0]);
        int plate = Integer.parseInt(input.split(" ")[1]);
        System.out.println(getCount(apple, plate));
    }
    public static int getCount(int apple, int plate){
        // 递归出口:
        // 没苹果放了,之后所有的盘子都空着,这种情况也是一种放法,且只能这么放;
        // 或者盘子只有一个了,但是苹果不为0,只能将所有苹果放在这个盘子里
        if(apple == 0 || plate == 1){
            return 1;
        }
        // 若盘子数量大于苹果数量,则忽略多余的盘子,因为盘子是无差别的
        if(plate > apple){
            return getCount(apple, apple);
        } else {
            // 若盘子数小于等于苹果数,此时可以分为两各种情况
            // 1. 盘子不放满,将一些盘子空着,则从空一个盘子开始放
            // 2. 盘子放满,则先将每个盘子放一个苹果,再放剩下的苹果
            return getCount(apple, plate - 1) + getCount(apple - plate, plate);
        }
    }
}

全部评论

相关推荐

是正式编吗?稳定吗?工资待遇怎么样?转正可以转到腾讯总部吗?
Java抽象带篮子:不是,不稳定,一般,不行
投递腾讯云智研发等公司7个岗位 >
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务