You are on page 1of 1

/*CU ROLL Number :- Date:-11/10/2023

Registration Number:-
NAME:- Ranit Bhandari*/
/*PROGRAM 18:- Write a program to check Armstrong number and Perfect number */
#include <stdio.h>
#include <math.h>
int isArmstrong(int n)
{
int digits = 0;
int sum = 0;
int temp = n;
while (temp > 0)
{
digits++;
temp /= 10;
}
temp = n;
while (temp > 0)
{
int d = temp % 10;
sum += (int) pow(d, digits);
temp /= 10;
}
return (sum == n);
}
int isPerfect(int n)
{
int sum = 0;
int i;
for (i = 1; i < n; i++)
{
if (n % i == 0)
{
sum += i;
}
}
return (sum == n);
}
int main()
{
int num;
printf("Enter a number: ");
scanf("%d", &num);
if (isArmstrong(num))
{
printf("%d is an Armstrong number.\n", num);
}
else
{
printf("%d is not an Armstrong number.\n", num);
}
if (isPerfect(num))
{
printf("%d is a Perfect number.\n", num);
}
else
{
printf("%d is not a Perfect number.\n", num);
}
return 0;
}
/*Enter a number: 1634
1634 is an Armstrong number.
1634 is not a Perfect number.
[Program finished]*/

You might also like