Table of Contents
C code to check whether the number is prime or not
In this tutorial, we will discuss the C code to check whether the number is prime or not
In this post, we are going to learn how to check whether the given number is prime or not using 5 ways in C language
This is done using for loop, while loop, do-while loop function and recursion
A prime number is a number which is greater than(positive) one and divisible by only two numbers: 1 and it self. when any number is divisible by any other number it is not a prime number.
So, prime numbers can,t be divided by other numbers than itself or 1 Eg 2,3,5,7,11,13,17 ………..
Code to check whether the number is prime or not using for loop
Program 1
#include <stdio.h> #include <stdlib.h> int main() { int num,i,count=0;//variable declaration printf("Enter a positive integer\n"); scanf("%d",&num);//Takes input from the user for(i=1; i<=num; ++i){ if(num%i==0){ count++; } } if(num==1){ printf("1 is neither prime or composite"); } else{ if(count==2){ printf("%d is a prime number",num); } else{ printf("%d is not a prime number",num); } } getch(); return 0; }
When the above code is executed, it produces the following result
Case 1
Enter a positive integer 17 17 is a prime number
Case 2
Enter a positive integer 24 24 is not a prime number
Case 3
Enter a positive integer 1 1 is neither prime or composite
In this program,
- integer variable num,i are declared.
- integer variable count=0 is declared and initialized
- The program asks input from the user
- Then the user enters the input values for num.
- The program will read the input using scanf() function and store to the variable num
- Create a for loop of i from 1 to n and increase the value of i after every iteration by 1
- Calculate mod of every value of i and check whether the result is equal to zero or not
- when the if statement returns true then the count value is increased by 1 until the test condition becomes false
- The given numbers are tested whether it is prime or not using the count value
- if the value of the count is equal to 0 then the number is prime else the number is composite
- Then,the program is displayed the output using printf() function.
Code to check whether the number is prime or not using while loop
Program 2
#include <stdio.h> #include <stdlib.h> int main() { int num,i,count=0; printf("Enter a positive integer\n"); scanf("%d",&num); i=1; while(i<=num){ if(num%i==0){ count++; } ++i; } if(num==1){ printf("1 is neither prime or composite"); } else{ if(count==2){ printf("%d is a prime number",num); } else{ printf("%d is not a prime number",num); } } getch(); return 0; }
When the above code is executed, it produces the following result
Case 1
Enter a positive integer 47 47 is a prime number
Case 2
Enter a positive integer 39 39 is not a prime number
Case 3
Enter a positive integer 1 1 is neither the a prime or composite
In this program,
- integer variable num,i are declared.
- integer variable count=0 is declared and initialized
- The program asks input from the user
- Then the user enters the input values for num.
- The program will read the input using scanf() function and store to the variable num
- Create a while loop of i from 1 to n and increase the value of i after every iteration by 1
- Calculate mod of every value of i and check whether the result is equal to zero or not
- when the if statement returns true then the count value is increased by 1 until the test condition becomes false
- The given numbers are tested whether it is prime or not using the count value
- if the value of the count is equal to 0 then the number is prime else the number is composite
- Then,the program is displayed the output using printf() function.
Code to check whether the number is prime or not using do-while loop
Program 3
#include <stdio.h> #include <stdlib.h> int main() { int num,i,count=0; printf("Enter a positive integer\n"); scanf("%d",&num); i=1; do{ if(num%i==0){ count++; } ++i; } while(i<=num); if(num==1){ printf("1 is neither prime or composite"); } else{ if(count==2){ printf("%d is a prime number",num); } else{ printf("%d is not a prime number",num); } } getch(); return 0; }
When the above code is executed, it produces the following result
Case 1
Enter a positive integer 83 83 is a prime number
Case 2
Enter a positive integer 91 91 is not a prime number
Case 3
Enter a positive integer 1 1 is neither the a prime or composite
In this program,
- integer variable num,i are declared.
- integer variable count=0 is declared and initialized
- The program asks input from the user
- Then the user enters the input values for num.
- The program will read the input using scanf() function and store to the variable num
- Create a do-while loop of i from 1 to n and increase the value of i after every iteration by 1
- Calculate mod of every value of i and check whether the result is equal to zero or not
- when the if statement returns true then the count value is increased by 1 until the test condition becomes false
- The given numbers are tested whether it is prime or not using the count value
- if the value of the count is equal to 0 then the number is prime else the number is composite
- Then,the program is displayed the output using printf() function.
Code to check whether the number is prime or not using function
Program 4
#include <stdio.h> #include <stdlib.h> int main() { int num,result=0; printf("Enter a number\n"); scanf("%d",&num); result=primeNum(num); if(result==0) printf("%d is a prime number",num); else printf("%d is not a prime number",num); getch(); return 0; } int primeNum(int n) { int i; for(i=2; i<=n/2; i++) { if(n%2!=0) continue; else return 1; } return 0; }
When the above code is executed, it produces the following result
Case 1
Enter a positive integer 29 29 is a prime number
Case 2
Enter a positive integer 50 50 is not a prime number
C code to check whether the number is prime or not -using recursion
Program 5
#include <stdio.h> #include <stdlib.h> int isPrime(int,int);//function prototype int main() { int num,result; printf("Enter a positive number\n"); scanf("%d",&num); result=isPrime(num,num/2); if(result==1) printf("%d is a prime number",num); else printf("%d is a composite number",num); getch(); return 0; } int isPrime(int n,int i) { if(i==1) return 1; else{ if(n%i==0) return 0; else isPrime(n,i-1); } }
When the above code is executed, it produces the following result
Case 1
Enter a positive integer 19 19 is a prime number
Case 2
Enter a positive integer 24 24 is a composite number
Suggested post
Similar post
Java programming code to check prime or not
C programming code to check prime or not