จำนวนที่สมบูรณ์แบบคือตัวเลข ซึ่งผลรวมของตัวประกอบเท่ากับ 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