A perfect number is a positive integer that is equal to the
Solution
// C code, main.c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int number,i=1,sum=0;
printf(\"Enter a number: \");
scanf(\"%d\",&number);
while(i<=number/2)
{
if(number%i==0)
{
sum=sum+i;
}
i++;
}
if(sum==number)
{
printf(\"It\'s a perfect number\ \");
printf(\"Divisors: \");
for (i = 1; i <= number/2; ++i)
{
if(number%i==0)
{
printf(\"%d \",i);
}
}
printf(\"\ \");
}
else
printf(\"It\'s not a perfect number\ \");
return 0;
}
/*
output:
Enter a number: 496
It\'s a perfect number
Divisors: 1 2 4 8 16 31 62 124 248
Enter a number: 15
It\'s not a perfect number
*/
// C code, main.c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int low;
int high;
printf(\"Enter low: \");
scanf(\"%d\",&low);
printf(\"Enter high: \");
scanf(\"%d\",&high);
for (int i = low; i <= high; ++i)
{
int number = i;
int cubeSUm = 0;
while(number!=0)
{
int t = number%10;
cubeSUm = cubeSUm + t*t*t;
number = number/10;
}
if(i == cubeSUm)
printf(\"Number: %d\ \",i);
}
return 0;
}
/*
output:
Enter low: 100
Enter high: 1000
Number: 153
Number: 370
Number: 371
Number: 407
*/


