Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Problem A. Binomial Coefficient | Problems
Dynamic Programming
course content

Зміст курсу

Dynamic Programming

Dynamic Programming

1. Intro to Dynamic Programming
2. Problems
3. Solutions

book
Problem A. Binomial Coefficient

The tasks in this section contain test function calls. Please do not change this code; otherwise, the assignment may not be accepted.

In previous sections, we solved the problems that can be described as functions with 1 parameter (fib(n), rabbit(n)). Sometimes, the function depends on 2 or more parameters, for example, this one.

Завдання

Swipe to start coding

Create the program to calculate Binomial coefficient C(n, k) using dynamic programming. Since the function contains two parameters, the problem requires a two-dimensional array dp[n+1][n+1] to store the values.

  1. Define the base cases: C(n,0) = C(n,n) = 1
  2. Use the rule:

C(n,k) = C(n-1,k-1) + C(n-1,k).

Use Optimal Substructure and Overlapping Subproblems principles. If you’re unsure about how to store sub-solutions, open Hint.

Example 1. n=3, k=2 -> res = 3

Example2. n=10, k=4 -> res = 210

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1
toggle bottom row

book
Problem A. Binomial Coefficient

The tasks in this section contain test function calls. Please do not change this code; otherwise, the assignment may not be accepted.

In previous sections, we solved the problems that can be described as functions with 1 parameter (fib(n), rabbit(n)). Sometimes, the function depends on 2 or more parameters, for example, this one.

Завдання

Swipe to start coding

Create the program to calculate Binomial coefficient C(n, k) using dynamic programming. Since the function contains two parameters, the problem requires a two-dimensional array dp[n+1][n+1] to store the values.

  1. Define the base cases: C(n,0) = C(n,n) = 1
  2. Use the rule:

C(n,k) = C(n-1,k-1) + C(n-1,k).

Use Optimal Substructure and Overlapping Subproblems principles. If you’re unsure about how to store sub-solutions, open Hint.

Example 1. n=3, k=2 -> res = 3

Example2. n=10, k=4 -> res = 210

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Ми дуже хвилюємося, що щось пішло не так. Що трапилося?
some-alt