题解 | #放苹果#

放苹果

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

//递归思路其它答案已经讲得很清晰了,自己在纸上画一画就明白了。
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		while(sc.hasNext()){//支持多行输入
			
				Scanner scanLine = new Scanner(sc.nextLine());
				
					int m = scanLine.nextInt();
					int n = scanLine.nextInt();
					
					System.out.println(distributeApple(m, n));
					
					scanLine.close();
			}
		
		sc.close();
	}
	
	public static int distributeApple(int m, int n){
		
		if(m<0 || n<=0){//苹果可以为0,盘子至少有1个。
			return 0;
		}
		else if(m==0 || n==1 || m == 1){//一直递归到苹果为1或0,或盘子为1。
			return 1;
		}
		else{
			return distributeApple(m,n-1)+distributeApple(m-n,n);//递归
		}
		
	}
}
全部评论

相关推荐

湫湫湫不会java:写的很杂,连自己都不知道找什么工作的感觉,只是要份工作。针对自己稍微有点优势的方向好好整份简历投投吧,然后这杂的简历就辅助投投,因为自己认为的优势可能也不是很大的优势all in可能失业,自己也没有啥很想的方向还是可以用这通用的碰碰运气吧,加油
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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