An integer number is said to be a perfect number if its factors, including 1 (bu
ID: 3551820 • Letter: A
Question
An integer number is said to be a perfect number if its factors, including
1 (but not the number itself), sum to the number. For example, 6 is a perfect number because 6 =1 + 2 + 3.
Write a function called perfect(NUM) that determines if parameter NUM is a perfect number. Use this function in a program that determines and prints all the perfect numbers between 1 and 1000.
Print the factors of each perfect number to confirm that the number is indeed perfect.
*Note: at the beginning program ask for the input NUM.
Explanation / Answer
#include int test(int); void printfactors(int); int main(){ int number,i; int perfect; printf("Enter a number: "); scanf("%d",&number); do{ perfect=test(number); if (perfect==1) { printf(" %d ",number); printfactors(number); } number++; }while(numbersmaller){ if(NUM%smaller==0){// if a factor, add both, the smaller and larger factor to sum larger=NUM/smaller; sum+=larger+smaller; } smaller++;//increment smaller factor by one } if(sum==NUM && NUM!=0){ result=1; } return result; } void printfactors(int number){ int i; printf(" [ "); for(i=1;iRelated Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.