package main import "fmt" func main() { var m, n int fmt.Scan(&m, &n) fmt.Println(f(m, n)) } func f(m, n int) int { // 没有苹果可放 || 只放一个盘子 if m == 0 || n == 1 { return 1 } if n > m { // n - m 个空盘子对结果无影响 return f(m, m) } else { // 至少有一个空盘子 + 所有盘子都有苹果,从每个盘子拿掉一个苹果对结果无影响 return f(m, n-1) + f(m-n, n) } }