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

#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
Write a C program to find product of digits of a number using while loop.
Wap in C to multiply the digits of a number.

Required Knowledge

To multiply digits of a number we have to remove one digit at a time, we can use '/' division and '%' modulus operator. Number%10 will give the least significant digit of the number, we will use it to get one digit of number at a time. To remove last least significant digit from number we will divide number by 10.

Product of digits of 2534 = 2 x 5 x 3 x 4 = 120

Algorithm to find product of digits of a number
  • Get least significant digit of number (number%10) and multiply it to the product variable.
  • Remove least significant digit form number (number = number/10).
  • Repeat above two steps, till number is not equal to zero.

C program to find sum of all even numbers between 1 to N using for loop

#include <stdio.h>
#include <conio.h>  
  
int main() {  
    int num, temp;  
    long productOfDigit = 1;  
  
    /* 
     * Take a number as input from user
     */  
    printf("Enter a Number\n");  
    scanf("%d", &num);  
    temp = num;
    
    while(num != 0){
        /* get the least significant digit(last digit) 
         of number and multiply it to productofDigit */
        productOfDigit *= num % 10;
        /* remove least significant digit(last digit)
         form number */
        num = num/10;
    } 
  
    printf("Product of digits of %d = %ld", temp, productOfDigit);  
  
    getch();
    return 0;  
}

Output
Enter a Number
2436
Product of digits of 2436 = 144
Enter a Number
2222
Product of digits of 2436 = 16

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