Задача типа #25: Обработка целочисленных данных
Обработка целочисленных данных
Задача А:
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M признаётся равным нулю.
Напишите программу, которая перебирает целые числа, бо́льшие 800 000, в порядке возрастания и ищет среди них такие, для которых M оканчиваетсяна 4. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – соответствующие им значения M.
Например, для числа 20 М = 2 + 10 = 12
Задача Б:
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
- символ ? означает ровно одну произвольную цифру;
- символ * означает любую последовательность цифр произвольной длины; в том числе * может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 3?12?14*5, делящиеся на 1917 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1917.
Ответ:
Задача А:
800004 400004
800009 114294
800013 266674
800024 400014
800033 61554
Задача Б:
351261495 183235
3212614035 1675855
3412614645 1780185
3712414275 1936575
3912414885 2040905
Алгоритм решения: Задача A - создайте функцию поиска натуральных делителей. Задача Б - используйте встроенную библиотеку Python для работы с маской.
Возможно другое решение.
Посмотреть решение задачи (код на Python) в Telegram боте по ID задачи 125012