Даны два целых числа L и R, обозначающие диапазон [L, R]. Задача состоит в том, чтобы найти общее количество чисел в заданном диапазоне [L, R], сумма четных цифр которых больше суммы нечетных цифр.
Примеры:
Input : L=2 R=10
Output : 4
Numbers having the property that sum of even
digits is greater than sum of odd digits are: 2, 4, 6, 8Input : L=2 R=17
Output : 7
Пререквизиты: Digit-DP
Подходить:
Во-первых, посчитайте необходимые числа до R, т.е. в диапазоне [0, R]. Чтобы получить ответ в диапазоне [L, R], решите для диапазона от нуля до R, а затем вычтите ответ для диапазона от нуля до L — 1. Определите состояния DP следующим образом:
- Рассмотрим число как последовательность цифр, одно состояние — это позиция, в которой мы сейчас находимся. Эта позиция может иметь значения от 0 до 18, если мы имеем дело с числами до 10 ^ 18. В каждом рекурсивном вызове попытайтесь построить последовательность слева направо, поместив цифру от 0 до 9.
- Первое состояние — это сумма четных цифр, которые были размещены до сих пор.
- Второе состояние — это сумма нечетных цифр, которые были размещены до сих пор.
- Другим состоянием является булева переменная Герметичность, которая сообщает, что число, которое мы пытаемся построить, уже стало меньше, чем R, так что в будущих рекурсивных вызовах мы можем поместить любую цифру от 0 до 9. Если число не стало меньше, максимальный предел цифра, которую мы можем поместить, является цифрой в текущей позиции в R.
Ниже приведена реализация вышеуказанного подхода:
|
Джава
|
python3
|
C #
|
Выход:
4
Сложность времени: Максимум 18 * (180) * (180) * 2 вычислений при 0 <a, b <10 18
Рекомендуемые посты:
- Количество чисел между диапазонами, имеющими только ненулевые цифры, чья сумма цифр равна N, а число делится на M
- Количество чисел из диапазона [L, R], чья сумма цифр равна Y
- Количество чисел в диапазоне, где число не содержит более K ненулевых цифр
- Подсчитать числа в диапазоне LR, которые делятся на все его ненулевые цифры
- Подсчет всех четных чисел в диапазоне [L, R], сумма цифр которых делится на 3
- Количество чисел в диапазоне с разницей между суммой цифр в четных и нечетных позициях в качестве простого
- Количество целых чисел в диапазоне, которые имеют четное количество нечетных цифр и нечетное количество четных цифр
- Общее число без повторяющихся цифр в диапазоне
- Числа длины N, имеющие цифры A и B и чья сумма цифр содержит только цифры A и B
- Числа с суммой цифр, равной сумме цифр всего ее простого множителя
- Подсчитать числа с одинаковыми первой и последней цифрами
- Подсчитайте разные числа, которые можно сгенерировать так, чтобы сумма цифр равнялась 'n'
- Количество N-значных чисел со всеми разными цифрами
- Подсчет чисел с N цифрами, который состоит из четного числа 0
- Количество чисел, образованных заданными двумя цифрами, с суммой с указанными цифрами
0.00 (0%) 0 votes