• Предмет: Информатика
  • Автор: aidarxabib33487
  • Вопрос задан 2 года назад

Минимальный простой делитель
Дано целое число, не меньшее 2. Выведите его наименьший простой делитель.

Входные данные

Вводится целое положительное число N≤2∗109.

Выходные данные

Выведите ответ на задачу.

Примеры
Ввод
Вывод
15
3
179
179
python
ДАЮ 100

Ответы

Ответ дал: vimmortal2
0

Программа:

Python:

num = int(input())

tmp1 = 2

tmp2 = int(num**(0.5))

while num % tmp1 != 0 and tmp1 < tmp2:

   tmp1 += 1

print(tmp1 if num % tmp1 == 0 else num)

Объяснение:

Сначала нужно понять и осмыслить определение и наименьшего простого делителя числа. По теореме, наименьший просто делитель составного числа a не превосходит √a. Простой делитель - это простое число, на которое и делится число a. Простое число - натуральное число, делающиеся на себя и на единицу без остатка.

В начале вводится само число, которое записывается в переменную num. Значению переменной tmp1 присваивается 2 для будущих вычислений, значению переменной tmp2 присваивается  корень от числа num (и округляется строго назад). С помощью цикла while проверяется следующее действие: пока число num делится на tmp1 с остатком, и tmp1 меньше корня от числа num, к значению переменной tmp1 прибавляется единица. В конце - выводится значение переменной tmp1, если num делится на tmp1 без остатка, иначе выводится само число (если вывелось само число, то значит, что число не имеет простых делителей).

Результат:

15

3

179

179

345

3

1345

5

Вас заинтересует