Автор оригинала: Team Python Pool.
Вступление
В этой статье мы увидим программу python для печати всех простых множителей данного числа. Если число является простым числом и идеально делит данное число, то это число называется простым множителем данного числа. Здесь мы увидим, что такое простой фактор, метод поиска простого фактора и программа python.
Что такое простой множитель числа?
Простые множители числа-это простое число, которое при умножении вместе дает число. мы можем проверить простой множитель числа по двум условиям:
- Число должно быть простым.
- Число должно идеально делить число.
Шаги по поиску простых множителей числа
- Пусть число обозначается числом num.
- в то время как num делится на 2, мы выведем 2 и разделим num на 2.
- После шага 2 число всегда должно быть нечетным.
- Начните цикл с квадратного корня из n. Если я разделю num, выведите i и разделите num на i. После того как я не смогу разделить num, увеличьте значение i на 2 и продолжайте.
- Если num-простое число и больше 2, то num не может стать 1.
- Итак, выведите num, если он больше 2.
Примеры печати простых множителей числа в Python
Давайте разберемся в программе для простых множителей числа подробнее с помощью различных примеров:
1. Простой множитель числа в Python с использованием циклов While и for
В этой программе мы будем использовать цикл while и цикл for как для определения простых множителей данного числа. мы импортируем математический модуль в эту программу, чтобы использовать функцию квадратного корня в python. После этого мы применим цикл и попытаемся найти простые множители данного числа.
# python program to print prime factors import math def primefactors(n): #even number divisible while n % 2 == 0: print (2), n = n / 2 #n became odd for i in range(3,int(math.sqrt(n))+1,2): while (n % i == 0): print (i) n = n / i if n > 2: print (n) n = int(input("Enter the number for calculating the prime factors :\n")) primefactors(n)
Выход:
Enter the number for calculating the prime factors : 650 2 5 5 13
Объяснение:
Здесь сначала мы импортировали математическую библиотеку из модуля python. Во-вторых, мы взяли вход n в качестве числа и вызвали функцию primefactors() . В-третьих, мы взяли primefactors() в качестве функции и применили цикл while и проверили, идет ли модуль числа 0, разделив его на 2. В-четвертых, цикл while будет выполняться до тех пор, пока число не станет четным и делимым на 2, и выводить его и делить число на 2 на каждой итерации. После этого мы применим цикл for от ‘ до квадратного корня из n+1. Затем мы снова применим цикл while внутри цикла for и проверим условие. Наконец, если n больше 2, то мы напечатали это число. Следовательно, все простые множители числа печатаются.
2. использование только для цикла
В этой программе мы будем использовать цикл for только для нахождения простых множителей данного числа. мы будем применять несколько циклов for и попытаемся найти простые множители данного числа.
#using for loop n = int(input("Enter the number for calculating the prime factors :\n")) for i in range(2,n + 1): if n % i == 0: count = 1 for j in range(2,(i//2 + 1)): if(i % j == 0): count = 0 break if(count == 1): print(i)
Выход:
Enter the number for calculating the prime factors : 350 2 5 7
Объяснение:
В этом примере мы будем использовать только цикл for. Во-первых, мы приняли входные данные от пользователя как n. Во – вторых, мы применили цикл for от до+1. Затем мы проверим, равен ли модуль значения i и числа 0. Затем мы ведем счет и снова применяем цикл for внутри цикла for от до//2+1. и проверьте данное условие if. если условие удовлетворяет, то значение count устанавливается равным 0, и мы разрываем оператор. Затем мы выходим из цикла for и проверяем условие if count и печатаем значение i. Следовательно, простые множители печатаются с единственным-единственным их значением.
NOTE: Suppose we take input as 650 : the prime factors are 2,5,5,13 so, it will print 2,5,13 as all integers one time.
3. Простой Множитель Числа В Python, использующий только цикл while
В этой программе мы будем использовать цикл while только для определения простых множителей данного числа. мы будем применять несколько циклов while и попытаемся найти простые множители данного числа.
#using while loop n = int(input("Enter any Number for calculating the prime factors: ")) i = 1 while(i <= n): c = 0 if(n % i == 0): j = 1 while(j <= i): if(i % j == 0): c = c + 1 j = j + 1 if (c == 2): print(i) i = i + 1
Выход:
Enter any Number for calculating the prime factors: 350 2 5 7
Объяснение:
В этом примере мы будем использовать только цикл while. Во-первых, мы приняли входные данные от пользователя как n. Во-вторых, мы установим значение i как 1. В-третьих, мы применим цикл while с условием проверки, так как i должен быть меньше или равен n. Внутри цикла | мы установим значение c равным 0 и применим в нем условие if и while. Наконец, мы проверим, станет ли значение c равным 2, а затем выведем значение i. Следовательно, простые множители печатаются с единственным-единственным их значением.
NOTE: Suppose we take input as 650 : the prime factors are 2,5,5,13 so, it will print 2,5,13 as all integers one time.
Вывод
В этом уроке мы видели, как найти простые множители числа с помощью 3 различных методов. Все методы подробно объясняются с помощью примеров и их объяснения. Вы можете использовать любой метод, который вам нравится, в соответствии с вашими потребностями.