Пусть M (N) — пятый по величине делитель натурального числа N без учёта самого числа и единицы. Например, M(1000) = 100.
Если у числа N меньше 5 различных делителей, не считая единицы и самого числа, считаем, что M (N) = 0.
Найдите 5 наименьших натуральных чисел, превышающих 460 000 000, для которых M (N) > 0. В ответе запишите найденные значения M (N) в порядке возрастания соответствующих им чисел N.
Ответ:
Если у числа N меньше 5 различных делителей, не считая единицы и самого числа, считаем, что M (N) = 0.
Найдите 5 наименьших натуральных чисел, превышающих 460 000 000, для которых M (N) > 0. В ответе запишите найденные значения M (N) в порядке возрастания соответствующих им чисел N.
Ответ:
💡 Пошаговый разбор и решение:
Будем последовательно рассматривать каждое целое число, большее 460 000 000. В каждом таком числе будем находить наименьшие шесть натуральных делителей. Если у числа есть по крайней мере пять делителей, не считая единицы и самого числа, будем выводить результат деления числа на пятый найденный делитель.
Приведём решение на языке Pascal.
var
i, j, halfI, del: int64;
countDel, count: integer;
begin
count := 0;
i := 460000001;
while (count
41818182
261959
5
271
57500001
Примечание.
Пятый по величине делитель — пятый делитель из пяти наибольших делителей числа. То есть для числа 1000 пять наибольших делителей, не считая единицы и самого числа, — 500, 250, 200, 125, 100, пятый по величине — 100.
Приведём решение на языке Python.
count = 0
i = 460000001
while count Приведём решение Юрия Красильникова на языке Python.
def delit(n):
d = set()
k = 2
while k**2 = 5:
k += 1
print(d[-5])
Приведём решение Сергея Донец на языке PascalABC.NET.
uses School;
begin
Iterate(460_000_001, x -> x + 1)
.Select(n-> (n, n.Divisors[1:^1]))
.Where(t -> t[1].Count >= 5)
.Take(5)
.Select(t -> t[1][^5])
.PrintLines;
end.
Приведём решение на языке Pascal.
var
i, j, halfI, del: int64;
countDel, count: integer;
begin
count := 0;
i := 460000001;
while (count
41818182
261959
5
271
57500001
Примечание.
Пятый по величине делитель — пятый делитель из пяти наибольших делителей числа. То есть для числа 1000 пять наибольших делителей, не считая единицы и самого числа, — 500, 250, 200, 125, 100, пятый по величине — 100.
Приведём решение на языке Python.
count = 0
i = 460000001
while count Приведём решение Юрия Красильникова на языке Python.
def delit(n):
d = set()
k = 2
while k**2 = 5:
k += 1
print(d[-5])
Приведём решение Сергея Донец на языке PascalABC.NET.
uses School;
begin
Iterate(460_000_001, x -> x + 1)
.Select(n-> (n, n.Divisors[1:^1]))
.Where(t -> t[1].Count >= 5)
.Take(5)
.Select(t -> t[1][^5])
.PrintLines;
end.
Правильный ответ:
41818182&261959&5&271&57500001
📚 Похожие разобранные задания по предмету:
ID 34834 • Задание №27
Для заданной последовательности целых чисел необходимо найти максимальную сумму квадратов двух её элементов, н...
ID 33052 • Задание №18
Переменные x и y описаны в программе как целочисленные. Определите значение переменной x после выполнения след...
🔗 Другие задания линии №25 по предмету Информатика:
ID 34189
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие симво...
ID 34190
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...
ID 34191
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...
ID 34192
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие симво...
ID 34193
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...