Perfect number and divisors
Hi,
I have to write a program that displays the nature of a number (perfect, defficient, or abundant) and DISPLAY ITS DIVISORS. and this is actually the bad part (lol). i have to use a while loop. i'll post it here what i've written so far. but it always displays a huge sam enumber as a divisor.
Could anybody correct me?? It's due on monday.
Thanks a lot.
Code:
#include <stdio.h>
int main (void) {
int n, cnt, sum_div;
char ans;
do{
printf("-------------------\n");
printf("Enter a number:\n");
scanf("%d", &n);
while((n%cnt==0) && (cnt<=n/2));{
printf("Divisors: %d,\n", cnt);
sum_div+=cnt;
if(sum_div==n)
printf("---%d is Perfect\n", n);
else if(sum_div>n)
printf("---%d is Abundant\n", n);
else
printf("---%d is Defficient\n", n);
}
printf("Continue? <Y/N>:\n");
scanf(" %c", &ans);
while(ans=='Y'||ans=='y')
}
printf("Bye:>_\n");
return(0);
}