A positive integer is said to be a perfect number if it equa
Solution
//
// main.c
// chegg_c
//
// Created by shreya desai on 08/02/17.
// Copyright © 2017 smita desai. All rights reserved.
//
#include <stdio.h>
#include<string.h>
int main(int argc, const char * argv[]) {
// variable declaration
int number,sum=0,i;
char choice[]= \"y\";
//loop as long as user input is y or Y
while (strcmp(choice,\"y\")==0 || strcmp(choice,\"Y\")==0)
{
sum = 0;
printf(\"\ Enter a perfect number : \");
scanf(\"%d\",&number);
// accept only positive number
while(number<=0)
{
printf(\"\ Please enter a positive number : \");
scanf(\"%d\",&number);
}
// loop to find the divisors of number excluding itself
for(i=1;i<number;i++)
{
if(number%i==0)
{
sum += i;
}
}
// check if the sum of divisors of a number excluding itself is a number itself(perfect number)
if (number == sum)
{
printf(\"\ Number %d is a perfect number\",number);
printf(\"\ Number of iterations are %d\",i/2);
}
else
{
printf(\"\ Number %d is not perfect\",number);
printf(\"\ Number of iterations are %d\",i/2);
}
printf(\"\ Do you want to continue(y/n)?\" );
scanf(\"%s\",choice);
}
if (strcmp(choice,\"n\")==0 || strcmp(choice,\"N\")==0)
{
printf(\"\ Good Bye\ \");
}
return 0;
}
output :
Enter a perfect number : 1
Number 1 is not perfect
Number of iterations are 0
Do you want to continue(y/n)?y
Enter a perfect number : 6
Number 6 is a perfect number
Number of iterations are 3
Do you want to continue(y/n)?y
Enter a perfect number : 67
Number 67 is not perfect
Number of iterations are 33
Do you want to continue(y/n)?y
Enter a perfect number : 496
Number 496 is a perfect number
Number of iterations are 248
Do you want to continue(y/n)?n
Good Bye


