Print prime numbers from 1 to n in python

You can print prime numbers from 1 to a specified value n in Python using a function that checks for primality and iterates through the range, and then it returns the list of prime numbers for that range.

Concept of Prime Number

The concept of a prime number is a fundamental concept in number theory. A prime number is a positive integer greater than 1 that has exactly two distinct positive divisors: 1 and itself.

Here are the key points of the concept:

Definition: A prime number is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers.

Examples: Some examples of prime numbers include 2, 3, 5, 7, 11, 13, 17, and so on. These numbers are only divisible by 1 and themselves.

Python Program to Print prime numbers from 1 to n

In Python, writing a program to print prime numbers from 1 to n involves creating a function that checks if a number is prime and then iterating through the numbers in the desired range, adding prime numbers to a list, and finally displaying or returning the list of prime numbers. This program conceptually identifies and lists numbers that are divisible by only 1 and themselves, making them prime.

Algorithm

  1. Start
  2. Create a function is_prime(num) that takes a number num as input and returns True if num is prime and False otherwise.
  3. Initialize an empty list prime_numbers to store the prime numbers found.
  4. Iterate through numbers from 1 to n using a for loop.
  5. For each number i, check if it is prime using the is_prime function.
  6. If i is prime, append it to the prime_numbers list.
  7. Finally, return the prime_numbers list containing all prime numbers from 1 to n.
  8. End

Source Code

You can print prime numbers from I to n using the following source code

def is_prime(num):
    if num <= 1:
        return False
    if num <= 3:
        return True
    if num % 2 == 0 or num % 3 == 0:
        return False
    i = 5
    while i * i <= num:
        if num % i == 0 or num % (i + 2) == 0:
            return False
        i += 6
    return True

def print_primes_up_to_n(n):
    prime_numbers = []
    for i in range(1, n + 1):
        if is_prime(i):
            prime_numbers.append(i)
    return prime_numbers

n = 20  # Change this value to the desired upper limit
prime_numbers = print_primes_up_to_n(n)
print("Prime numbers from 1 to", n, "are:", prime_numbers)

Steps to write code

Part-1: Define is_prime(num) Function

def is_prime(num):

Step-1: Check if num is less than or equal to 1. If it is, return False,

if num <= 1:
    return False

Step2: Check if num is less than or equal to 3. If it is, return True

if num <= 3:
    return True

Step-3: Check if num is divisible by 2 or 3. If it is, return False, as even numbers greater than 2 and numbers divisible by 3 are not prime.

if num % 2 == 0 or num % 3 == 0:
    return False

Step-4: Initialize i to 5.

i = 5

Step-5: Enter a while loop that continues while the square of i is less than or equal to num.

while i * i <= num:

Step-6: Check if num is divisible by i or i + 2. If either condition is met, return False, as the number is not prime.

if num % i == 0 or num % (i + 2) == 0:
         return False

Step-7: Increment i by 6 (this is an optimization, as we are only checking numbers that are 1 or 5 more than a multiple of 6).

i += 6

Step-8: If none of the conditions above were met in the loop, return True because num is prime.

return True

Part-2: Define print_primes_up_to_n(n) Function:

def print_primes_up_to_n(n):

Step-1: Create an empty list called prime_numbers to store the prime numbers found.

prime_numbers = []

Step-2: Iterate through numbers from 1 to n (inclusive) using a for loop.

for i in range(1, n + 1):

Step-3: For each number i in the range, call the is_prime function to check if i is prime.

if is_prime(i):

Step-4: If is_prime(i) returns True, append i to the prime_numbers list.

prime_numbers.append(i)

Step-5: After the loop, return the prime_numbers list containing all prime numbers up to n.

return prime_numbers

Part-3: Main Part of the Code

Step-1: Set the value of n to 20 (you can change this value to set the upper limit for finding prime numbers).

n = 20

Step-2: Call the print_primes_up_to_n function with the value of n to find all prime numbers up to n.

prime_numbers = print_primes_up_to_n(n)

Step-3: Print the prime numbers found along with a message.

print("Prime numbers from 1 to", n, "are:", prime_numbers)

Output

When you pass n = 20 then it will print all prime numbers from 1 to the specified value 20 of n. You can change the value of n to find prime numbers in a different range.

n = 20  # Change this value to the desired upper limit
prime_numbers = print_primes_up_to_n(n)
print("Prime numbers from 1 to", n, "are:", prime_numbers)

output

Prime numbers from 1 to 20 are: [2, 3, 5, 7, 11, 13, 17, 19]