整数N、M(m≤n≤20)がキーボードにより入力された再帰的な手順の数を計算するの組み合わせでJavaプログラミング。

業績:

コード:

public class Group {
	public static void main(String[] args) {
		System.out.print("请输入n:");
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		System.out.print("请输入m:");
		int m = sc.nextInt();
		if ((n >= m) && (n<=20)) {
			zuhe(n, m);
			System.out.println(zuhe(n, m));
		}
	}

	private static int zuhe(int n, int m) {
		if ((n == m) || (n == 0) || (m == 0)) {
			return 1;
		} else
			return zuhe(n - 1, m) + zuhe(n - 1, m - 1);
	}
}

概念は:C(N、M)の数との組み合わせを用いて表し、mは数Nを取り込むプログラムの数を表します。

コンビネーションの式番号:

C(n、m)は= C(N、NM)

C(n、m)は= C(N-1、M)+ C(N-1、M-1)

だから、再帰関数は、それに書き込むために、この式に従います。

公開された28元の記事 ウォンの賞賛5 ビュー5788

おすすめ

転載: blog.csdn.net/weixin_41879980/article/details/98241032