C Program to Check Number is Perfect Square, Armstrong or Prime using While Loop
Write C Program to Check Number is Perfect Square, Armstrong or Prime using While Loop
//Write a C Program to Check Number is Perfect Square, Armstrong or Prime using While Loop
#include <stdio.h>
#include <math.h>
int isPerfectSquare(int n)
{
if (pow((int)sqrt(n), 2) == n)
return 1;
return 0;
}
int isArmstrongNumber(int n)
{
int digits = ceil(log10(n));
int temp = 0, temp2 = n, rem;
while (n > 0)
{
rem = n % 10;
temp += pow(rem, digits);
n /= 10;
}
if (temp2 == temp)
return 1;
return 0;
}
int isPrime(int n)
{
int i;
for ( i = 2; i < n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main(int argc, char *argv[])
{
int n, flag = 0;
printf("Enter the number: ");
scanf("%d", &n);
if (isPerfectSquare(n))
{
flag=1;
printf("It is a Perfect Square\n");
}
if (isArmstrongNumber(n))
{
flag=1;
printf("it is an Armstrong number\n");
}
if (isPrime(n))
{
flag=1;
printf("it is a Prime number\n");
}
if(flag == 0)
{
printf("It's not prime , Armstrong or Perfect Square");
}
return 0;
}
Output:
Run 1:
Enter the number: 36
It is a perfect square
Run 2:
Enter the number: 89
it is a prime number