ТЕРМІНОВО!!!! Puthon: Дано натуральне число n. Отримати всі прості дільники цього числа.
Ответы на вопрос
import math
num = int(input())
lst = []
for i in range(1, int(math.sqrt(num)) + 1):
if num % i == 0:
lst.append(i)
lst.append(num // i)
lst = list(set(lst))
lst.sort()
print(*lst)
Для отримання всіх простих дільників натурального числа n можна скористатися наступним алгоритмом:
1. Ініціалізуємо порожній список для зберігання простих дільників. 2. Перевіряємо кожне число від 2 до √n (кореня з n) на дільність n. Якщо n ділиться націло на поточне число, то воно є дільником. Додаємо його до списку простих дільників. 3. Якщо жодне з чисел від 2 до √n не є дільником, то саме число n є простим. 4. Виводимо список простих дільників.
Тут використовується той факт, що натуральне число n може мати прості дільники тільки до його кореня √n. Наприклад, якщо ми перебираємо числа від 2 до √n, і знаходимо дільник d, то n можна поділити на нього націло і отримати дільник d' = n / d. Тому перебираючи числа до кореня з n, ми отримуємо всі прості дільники n.
Наприклад, якщо натуральне число n = 24, то √n ≈ 4.8989795. Отже, ми перебираємо числа від 2 до 4 і знаходимо, що n ділиться націло на 2 і 3. Тому прості дільники числа 24 - це 2, 3 і 4.
У Python код для реалізації цього алгоритму може виглядати наступним чином:
```python import math
def get_prime_factors(n): prime_factors = [] # Список для зберігання простих дільників
# Перебираємо числа від 2 до кореня з n (включно) for i in range(2, int(math.sqrt(n)) + 1): # Перевіряємо, чи n ділиться націло на поточне число while n % i == 0: prime_factors.append(i) # Додаємо поточне число до списку n = n / i # Знаходимо нове значення n
# Якщо після циклу n було змінено (стало меншим за останній дільник), # то саме число n є простим дільником if n > 1: prime_factors.append(int(n))
return prime_factors
# Приклад використання: n = 24 prime_factors = get_prime_factors(n) print("Прості дільники числа", n, ":", prime_factors) ```
Вивід програми буде: ``` Прості дільники числа 24 : [2, 2, 2, 3] ```
Тут на виході отримано список простих дільників числа 24: [2, 2, 2, 3]. Зауважимо, що число 2 повторюється тричі у списку, оскільки 24 ділиться націло на 2^3.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
