
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [201455; 201470], числа, имеющие ровно
Ответ:
Решение. Решим задачу перебором. Будем проверять количество делителей каждого числа из диапазона. Поскольку необходимо найти
Приведём решение на языке Pascal.
var n, count, d, i: longint;
divs: array[1..4] of longint;
begin
for n:=201455 to 201470 do begin
count := 0;
for d:=1 to n do
if n mod d = 0 then begin
count := count + 1;
if count <= 4 then
divs[count] := d
else break
end;
if count = 4 then begin
for i:=1 to 4 do
write(divs[i], ' ');
writeln
end
end
end.
Приведём решение на языке Python.
for i in range(201455, 201471):
s=[1, i]
for d in range (2, round(i**(0.5))):
if i%d==0:
s.append(d)
s.append(i//d)
if len(s)>4:
break
if len(s)==4:
print(sorted(s))
В результате работы программа должна вывести следующее:
1 3 67153 201459
1 13 15497 201461
1 29 6947 201463
1 2 100733 201466
PDF-версии: