จำนวนที่สมบูรณ์แบบคือตัวเลข ซึ่งผลรวมของตัวประกอบเท่ากับ 2*จำนวน
อัลกอริทึม
อัลกอริทึมอธิบายไว้ด้านล่าง -
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
โปรแกรม
ต่อไปนี้คือโปรแกรม C เพื่อค้นหาว่าตัวเลขที่ระบุเป็นจำนวนสมบูรณ์หรือไม่ -
#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");
} ผลลัพธ์
ผลลัพธ์จะได้รับด้านล่าง −
enter the number:28 perfect number enter the number:46 not perfect number