Програма на Python за проверка на основно число

Пример за проверка дали едно цяло число е просто число или не се използва за цикъл и 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 в горния изходен код, за да проверите дали числото е просто или не за други цели числа.

Интересни статии...