C Program to Print All Prime Numbers between 1 to N

  • Write a C program to print all prime numbers between 1 to N using for loop.
  • Wap in C to print prime numbers between 1 to 100.

Required Knowledge

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….

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

C Program to Print All Prime Numbers between 1 to N

#include<stdio.h>
#include<conio.h>
  
int main(){
  
    int N, i, j, isPrime, n;
     
    printf("To print all prime numbers between 1 to N\n");
    printf("Enter the value of N\n");
    scanf("%d",&N);
  
    /* For every number between 2 to N, check 
    whether it is prime number or not */
    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++){
             /* Check If any number between 2 to i/2 divides I 
              completely If yes the i cannot be prime number */
             if(i % j == 0){
                 isPrime = 1;
                 break;
             }
        }
          
        if(isPrime==0 && N!= 1)
            printf("%d ",i);
    }
   getch();
   return 0;
}

Output

To print all prime numbers between 1 to N
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