题目:m个相同的苹果,放在n个相同的盘子中,求有多少种结果 

解决方案 »

  1.   


    import java.util.Scanner;public class MNAppleTest { public static void main(String[] args) { Scanner in = new Scanner(System.in);
    int N, M; // M Apple, N Disk
    M = in.nextInt();
    N = in.nextInt();
    System.out.print("共有"+cal(M, N)+"种结果");
    } private static int cal(int m, int n) {
    if (m < 0)
    return 0;
    if (m == 0 || n == 1)
    return 1;
    return cal(m - n, n) + cal(m, n - 1); }}
    1.最少的盘子放了一个,这样每个盘子至少一个,n个盘子先放上n个,剩下的m-n个可以随便放  
    2.最少的盘子没有放,这样剩下的n-1个盘子还是随便放m个  
      

  2.   

    每一个苹果都有n种可能
    m个苹果一共n的m次幂
    可能牵扯到大数运算package test;import java.math.BigInteger;
    import java.util.Scanner;public class BigIntegerTest
    {
    public static void main( String[] args )
    {
    int m;
    BigInteger n = null;
    Scanner sc = new Scanner(System.in); System.out.print("请输入苹果的数目:");
    m = sc.nextInt();
    System.out.print("请输入盘子的数目:");
    n = new BigInteger(sc.next());
    System.out.println(n.pow(m));
    }
    }