Số hoàn hảo là số; có tổng các thừa số bằng 2 * số.
Thuật toán
Một thuật toán được giải thích bên dưới -
START Step 1: declare int variables and initialized result=0. Step 2: read number at runtime. Step 3: for loop i=1;i<=number;i++ Condition satisfies i. if(number%i==0) ii. result=result+i; Step 4: checking the sum of factors. i. if(result==2*number) ii. print perfect number iii. else print not perfect number STOP
Chương trình
Sau đây là chương trình C để tìm xem số đã cho có phải là số hoàn hảo hay không -
#include<stdio.h>
int main(){
int number,i,result=0;//declare variables and initialize result to 0
printf("enter the number:");
scanf("%d",&number);
for(i=1;i<=number;i++){
if(number%i==0)
result=result+i;
}
if(result==2*number) //checking the sum of factors==2*number
printf("perfect number");
else
printf("not perfect number");
} Đầu ra
Đầu ra được đưa ra bên dưới -
enter the number:28 perfect number enter the number:46 not perfect number