C Program to Check Number is Perfect Square, Armstrong or Prime using While Loop

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