Перейти до вмісту

Розв'язник вправ по дискретній математиці/Комбінаторика

Матеріал з Вікіпідручника

Задача 1

[ред.]

а) Яких чисел більше серед цілих чисел першої тисячі (включаючи і 1000): в записі яких є одиниця, або інших? б) Яких семизначних чисел більше: тих, в запису яких є одиниця, або інших?

Задача 2

[ред.]

Скількома способами 3 людини можуть розділити між собою 7 однакових яблук, один апельсин, одну сливу і один мандарин?

Задача 3

[ред.]
  • Розв'язати завдання з leetcode.com (Count Sorted Vowel Strings). Нехай дане ціле число n — потрібно повернути кількість рядків довжини n, які складаються лише з голосних (a, e, i, o, u) та є лексикографічно впорядкованими.

Рядок s вважається лексикографічно впорядкованим, якщо для всіх допустимих i символ s[i] такий самий або йде перед s[i+1] в алфавіті.

Задача 4

[ред.]
  • Розв'язати завдання з leetcode.com (Pairs of Songs With Total Durations Divisible by 60). Дано список пісень, де i-та пісня має тривалість time[i] секунд.

Потрібно повернути кількість пар пісень, для яких сумарна тривалість у секундах ділиться на 60. Формально, знайти кількість індексів i, j, таких що i < j і виконується умова: (time[i] + time[j]) % 60 == 0.

Задача 5

[ред.]
  • Розв'язати завдання з leetcode.com (62. Unique Paths). На сітці m x n знаходиться робот. Спочатку робот знаходиться у лівому верхньому куті (тобто grid[0][0]). Робот намагається переміститись у правий нижній кут (тобто grid[m - 1][n - 1]). У довільний момент часу робот може рухатись лише вниз або праворуч.

За заданими двома цілими числами m та n виведіть кількість можливих унікальних шляхів, якими робот може дістатись до правого нижнього кута.

Задача 6

[ред.]
  • Розв'язати завдання з leetcode.com (3185. Count Pairs That Form a Complete Day II). За заданим цілочисельним масивом hours, що представляє час у годинах, поверніть ціле число, яке позначає кількість пар i, j, де i < j за умови, що hours[i] + hours[j] утворюють повний день.

Повна доба визначається як тривалість часу, яка кратна 24 годинам.

Наприклад, 1 день - це 24 години, 2 дні - 48 годин, 3 дні - 72 години і так далі.