Приклад перевірки, чи є ціле число простим числом чи не використовується для циклу for та if … else. Якщо число не є простим, це пояснює на виході, чому воно не є простим числом.
Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на Python:
- Заява Python if … else
- Python для Loop
- Розбийте Python і продовжуйте
Позитивне ціле число більше 1, яке не має інших множників, крім 1, а саме число називається простим числом. 2, 3, 5, 7 тощо є простими числами, оскільки вони не мають інших факторів. Але 6 непроста (композиційно) , так як 2 x 3 = 6
.
Вихідний код
# Program to check if a number is prime or not num = 407 # To take input from the user #num = int(input("Enter a number: ")) # prime numbers are greater than 1 if num> 1: # check for factors for i in range(2,num): if (num % i) == 0: print(num,"is not a prime number") print(i,"times",num//i,"is",num) break else: print(num,"is a prime number") # if input number is less than # or equal to 1, it is not prime else: print(num,"is not a prime number")
Вихідні дані
407 не є простим числом, в 11 разів 37 це 407
У цій програмі перевіряється змінна num, чи є вона простою чи ні. Числа, менші або рівні 1, не є простими числами. Отже, ми продовжуватимемо лише, якщо число більше 1.
Ми перевіряємо, чи num дійсно ділиться на будь-яке число від 2 до num - 1. Якщо ми знаходимо множник у цьому діапазоні, число не є простим. В іншому випадку число є простим.
Ми можемо зменшити діапазон чисел там, де шукаємо фактори.
У наведеній вище програмі наш діапазон пошуку становить від 2 до num - 1
.
Ми могли використати діапазон, range(2,num//2)
або range(2,math.floor(math.sqrt(num)))
. Останній діапазон заснований на тому, що складене число повинно мати коефіцієнт, менший за квадратний корінь з цього числа. В іншому випадку число є простим.
Ви можете змінити значення змінної num у наведеному вище вихідному коді, щоб перевірити, чи є число простим чи ні для інших цілих чисел.