C Program to Print All Prime Numbers between 1 to N

In this C program, we will find all prime numbers between 1 to N. A Prime number is a natural number greater than 1 that is only divisible by either 1 or itself.

All numbers other than prime numbers are known as composite numbers. There are infinitely many prime numbers, here is the list of first few prime numbers
2 3 5 7 11 13 17 19 23 29 31 37....

Required Knowledge

Algorithm to check whether a number is prime number or not
Let, N be a positive number.
  • For every number i, between 2 to N/2(2<= i <= N/2) check whether i divides N completely(check If i is a factor of N).
  • if (N % i == 0), then N cannot be a Prime number.
  • If none of the number between 2 to N/2 divides N completely then N is a prime number.

C program to print all prime numbers between 1 to N using for loop

#include<stdio.h>
 
int main(){
 
    int N, i, j, isPrime, n;
    
    printf("Enter the value of N\n");
    scanf("%d",&N);
 
    printf("Prime numbers between %d to %d\n", 1, N);
    
    for(i = 2; i <= N; i++){
        isPrime = 0;
        /* Check whether i is prime or not */
        for(j = 2; j <= i/2; j++){
             if(i % j == 0){
                 isPrime = 1;
                 break;
             }
        }
         
        if(isPrime==0 && N!= 1)
            printf("%d ",i);
    }
   return 0;
}
Output
Enter the value of N
50
Prime numbers between 1 to 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

Related Topics
C program to print all prime factors of a number
C program to find sum of prime numbers between 1 to N
C program to check whether a number is prime or not
C Program to calculate factorial of a number
C Program to print fibonacci series
C program to convert decimal number to octal number
C program to find product of digits of a number
C program to check a number is palindrome or not
C program to find all roots of quadratic equation
List of all C programs