将 m 个相同的苹果放入 n 个相同的盘子中


实现代码:
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int m = scanner.nextInt();int n = scanner.nextInt();System.out.println(countWays(m, n));}public static int countWays(int m, int n) {// dp[i][j]: i 个苹果放入 j 个盘子的方法数int[][] dp = new int[m + 1][n + 1];// 初始化for (int j = 0; j <= n; j++) {dp[0][j] = 1; // 没有苹果,只有一种方法:所有盘子空}for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (i < j) {dp[i][j] = dp[i][i];} else {dp[i][j] = dp[i][j - 1] + dp[i - j][j];}}}return dp[m][n];}