This is a simple python program to print prime numbers up to n, where n is the limit. A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself.
The program asks the user to input the limit which is stored in the variable n, ie., the program prints prime numbers starting from 1 up to n. When reading the user input the int
function converts the input to an integer value. This program uses two for loops
nested one inside the other. In the outer for loop
, the value of num is incremented from 1 to n in each step. In the inner loop we use a variable i whose value is incremented from 2 up to half the value of num
In each iteration of the inner loop,
we check the remainder from the division of num by i. If the remainder is zero it means that number num is completely divisible i and therefore num is not a prime number. You can break out of inner loop there an continue checking the next number. If none of the numbers are completely divisible then the loop will finish and goes on to execute the else
part which means num
is prime.
# Python program to display all the prime numbers upto n # Setting the intial value with 1 Starting_value = 1 # Taking input from the user n = int(input("Enter the number: ")) print("Prime numbers between", Starting_value, "and", n, "are:") for num in range(Starting_value, n + 1): if num > 1: for i in range(2, int(num/2)+1): if (num % i) == 0: break else: print(num)
Enter the number: 20 Prime numbers between 1 and 20 are: 2 3 5 7 11 13 17 19
I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.
Very very nice I love this program
I don't understand this bit -> for i in range(2, int(num/2)+1): Why should we divide num by 2 instead of just num + 1?
The biggest factor a number can have cannot be more than half of that number. Mathematically we can limit the loop to the square root of the number, which is more accurate and optimized but we are keeping it simpler here.