Найдите наименьшее натуральное число, у которого ровно 36 делителей (включая 1 и само число 36). например, у числа 6 четыре делителя: 1, 2, 3, 6. в качестве ответа укажите одно натуральное число.
Var p,k,i:integer; f:boolean; begin f:=false; p:=36; while not f do begin p:=p+1; k:=2; for i:=2 to p div 2 do if p mod i = 0 then k:=k+1; f:=k=36; end; writeln(p); end.
Оптимизированно относительно предыдущего ответа. Так и не понятно причем тут 36 в качестве делителя, потому не использовалось
var p, k, i: integer;
begin p := 2; while true do begin k := 2; for i := 2 to Floor(sqrt(p)) do if p mod i = 0 then if p div i = i then {случай полного квадрата} k := k + 1 else k := k + 2; if k = 36 then break; p := p + 1; end;
writeln(p); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку