From c9751a96ebfdce30eeb8b9974092ececddc9814b Mon Sep 17 00:00:00 2001 From: Rohit Singh Date: Mon, 10 May 2021 01:57:40 +0530 Subject: [PATCH] Update and rename Prime_number to Prime_number.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Increase Efficiency from O(N) to O(√N) --- Prime_number | 22 ---------------------- Prime_number.py | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 22 deletions(-) delete mode 100644 Prime_number create mode 100644 Prime_number.py diff --git a/Prime_number b/Prime_number deleted file mode 100644 index b2837b88b0f..00000000000 --- a/Prime_number +++ /dev/null @@ -1,22 +0,0 @@ -#if user input is not an int, shows error message -while True: - try: - num = int(input("Enter a number: ")) - break - except ValueError: - print("Invalid input.") - -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") diff --git a/Prime_number.py b/Prime_number.py new file mode 100644 index 00000000000..cf9685dcdfc --- /dev/null +++ b/Prime_number.py @@ -0,0 +1,18 @@ +import math +while True: + try: + num = int(input("Enter a Number: ")) + break + except ValueError: + print("Invalid Input") + +if num > 1: + for i in range(2,int(math.sqrt(num))): #Smallest Prime Factor of a Composite Number is less than or equal to Square Root of N + if (num % i) == 0: + print(num,"is NOT a Prime Number. It's indeed a COMPOSITE NUMBER") + break + else: + print(num,"is a PRIME NUMBER ") + +else: + print(num,"is NOT a Prime Number")