Определите количество таких целых k, что 10⁹ ≤ k ≤ 2 · 10⁹ и F(k) = 2.
Условие
Обозначим через a%b остаток от деления натурального числа a на натуральное число b, а через a//b — целую часть от деления a на b.Функция F(n), где n — неотрицательное целое число, задана следующими соотношениями:F(n) = 0, если n = 0;F(n) = F(n//10) + n%10, если n > 0 и n чётно;F(n) = F(n//10), если n нечётно.
Определите количество таких целых k, что 10⁹ ≤ k ≤ 2 · 10⁹ и F(k) = 2.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Для примера найдем значение F(12345): То есть алгоритм считает сумму всех четных цифр в числе. Поскольку по условию задачи требуется найти числа, сумма четных цифр которых равна 2, то число может состоять только из нечетных цифр, нуля и одной двойки. Достаточно посчитать все возможные варианты. На первом месте может стоять 1, далее одна двойка на любом месте и цифры из набора 0 (так как 0 в сумме не увеличивает число), 1, 3, 5, 7, 9 (всего 6). Посчитаем количество чисел из диапазона 10⁹ ≤ k ≤ 2 · 10⁹−1, удовлетворяющих условию: Также подходит число 2 · 10⁹, так как содержит одну двойку. Всего подходящих чисел:
Осталось ещё 4 шага
Приведём решение Артёма Гридина на языке…
return 0; else if (n % 2 ==…
+ n % 10; else return F(n / 10); static void…
cnt++; Console.WriteLine(cnt)…
Бесплатно · займёт минуту