是一個數學題目:應用了遞歸的思想。f(m,n) m爲蘋果數,n爲盤子數。如果n>m f(m,n)=f(m,m) 因爲一定有n-m個盤子是空的。如果n<=m,f(m,n)=f(m-n,n)+f(m,n-1)。分成了兩種情況,每一個盤子都有蘋果;至少有一個盤子沒有蘋果。利用這個遞推公式就可以求出答案。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int apple = in.nextInt();
int plate = in.nextInt();
System.out.println(method(apple, plate));
}
}
public static int method(int apple, int plate) {
if (plate == 0) return 0;
if (apple == 0 || plate == 1) {
return 1;
}
if (plate > apple)
plate = apple;
return method(apple - plate, plate) + method(apple, plate - 1);
}
}