Умение создавать собственные программы (10–20 строк) для обработки целочисленной информации · 25 заданий
- Задание №25№25
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: – символ «?» означает ровно одну произвольную цифру…
Алгоритмы обработки чисел
- Задание №25№25
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: 1) символ «?» означает ровно одну произвольную цифр…
Алгоритмы обработки чисел
- Задание №25№25
Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, т…
Алгоритмы обработки чисел
- Задание №25№25
Напишите программу, которая перебирает целые числа, большие 350000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный д…
Алгоритмы обработки чисел
- Задание №25№25
Напишите программу, которая перебирает целые числа, большие 450000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный д…
Алгоритмы обработки чисел
- Задание №25№25
Напишите программу, которая перебирает целые числа, большие 550 000, в порядке возрастания и ищет среди них такие, для которых наибольший натуральный…
Алгоритмы обработки чисел
- Задание №25№25
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: 1) символ «?» означает ровно одну произвольную цифр…
Алгоритмы обработки чисел
- Задание №25№25
Пусть F — разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет…
Алгоритмы обработки чисел
- Задание №25№25
Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет…
Алгоритмы обработки чисел
- Задание №25№25
Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет…
Алгоритмы обработки чисел
- Задание №25№25
Пусть М - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет…
Алгоритмы обработки чисел
- Задание №25№25
Пусть F - разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет…
Алгоритмы обработки чисел
Пусть F — разность максимального и минимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение F равным нулю.
Напишите программу, которая перебирает целые числа, большие 850 000, в порядке возрастания и ищет среди них такие, для которых значение F не равно нулю и делится нацело на 13. Программа должна найти и вывести первые 6 таких чисел и соответствующие им значения F.
Формат вывода: для каждого из 6 таких найденных чисел в отдельной строке сначала выводится само число, затем значение F. Строки выводятся в порядке возрастания найденных чисел.
Например, для числа 105 F = 35 - 3 = 32.
Правильный ответ
850022 425009 850048 425022 850053 283348 850074 425035 850099 7410 850100 425048
Пояснение
Решение:
У целого числа n наименьший делитель, отличный от единицы, — это его наименьший простой делитель p. Ему в пару идёт наибольший делитель, отличный от самого числа, равный n/p. Значит, оба «крайних» делителя находятся за один проход: достаточно перебрать d от 2 до n и остановиться на первом, который делит n. Если такого d нет, число простое, промежуточных делителей у него нет.
Нужны числа, у которых F=n/p−p отлично от нуля и делится нацело на 13. Проверка F=0 отсекает простые числа и полные квадраты простых, у которых наибольший и наименьший промежуточные делители совпадают. Перебираем числа с 850001 по возрастанию, пока не наберём шесть.
def M(n):
d = 2
while d * d <= n:
if n % d == 0:
return n // d - d # наибольший делитель минус наименьший
d += 1
return 0 # n простое: делителей нет
n = 850000
found = 0
while found < 6:
n += 1
f = M(n)
if f != 0 and f % 13 == 0:
print(n, f)
found += 1
Программа выводит:
850022 425009 850048 425022 850053 283348 850074 425035 850099 7410 850100 425048Ответ: 850022 425009 850048 425022 850053 283348 850074 425035 850099 7410 850100 425048