Предмет: Информатика,
автор: vned
наименьший делитель числа больший чем 2, числа в диапазоне от 3 до 10^12, программа должна работать меньше 2 секунд
vned:
жадный перебор не работает, если у вас тест на простоту через перебор от 3 до sqrt(n), то даже не беритесь
Ответы
Автор ответа:
0
var
n, p: int64;
f: boolean;
begin
Read(n);
if n < 3 then
Write('Нет решения')
else
begin
f := false;
p := 3;
while (not f) and (sqr(p) <= n) do
begin
f := (n mod p = 0);
p := p + 1
end;
if f then
write(p - 1)
else
write(n);
end;
end.
ограничение по времени на тест2 секунды
ограничение по памяти на тест512 мебибайт
вводстандартный ввод
выводстандартный вывод
Задан правильный N-угольник. Требуется выбрать наименьшее количество его вершин, которые также образуют правильный многоугольник.
Входные данные
Входные данные содержат одно целое число N (3≤N≤1012).
Выходные данные
Выведите одно число — наименьшее количество вершин заданного многоугольника, которые образуют правильный многоугольник.
Похожие вопросы
Предмет: История,
автор: vanyadyhtan45
Предмет: Математика,
автор: ruslannurlan1303
Предмет: География,
автор: evabodnar2009
Предмет: Математика,
автор: chicnashok
Предмет: Алгебра,
автор: 20SASHULYA08