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个
每一个苹果都有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)); } }
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个
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));
}
}