SPBINARY - Xâu Nhị Phân

Tác giả: khuc_tuan

Ngôn ngữ: Java

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int k = sc.nextInt();
		BigInteger[][] F = new BigInteger[n + 1][k + 1];
		for (BigInteger[] aa : F)
			Arrays.fill(aa, BigInteger.ZERO);
		F[1][1] = BigInteger.valueOf(2);
		for (int i = 1; i < n; ++i)
			for (int j = 1; j <= k; ++j) {
				F[i + 1][1] = F[i + 1][1].add(F[i][j]);
				if (j < k)
					F[i + 1][j + 1] = F[i + 1][j + 1].add(F[i][j]);
			}
		BigInteger total = BigInteger.ZERO;
		for (int i = 1; i <= k; ++i)
			total = total.add(F[n][i]);
		System.out.println(total);
	}
}

Download