จำนวนสมบูรณ์ (Perfect Number) คือตัวเลขที่ผลรวมของตัวประกอบเท่ากับ 2 × ตัวเลขนั้นเอง
อัลกอริทึม
อัลกอริทึมขั้นตอนดังนี้:
START
Step 1: ประกาศตัวแปร int และกำหนด result = 0
Step 2: อ่านตัวเลขระหว่างรันโปรแกรม
Step 3: ลูป for i = 1; i <= number; i++
เงื่อนไขเป็นจริง
i. if(number % i == 0)
ii. result = result + i
Step 4: ตรวจสอบผลรวมตัวประกอบ
i. if(result == 2 * number)
ii. พิมพ์ "perfect number"
iii. else พิมพ์ "not perfect number"
STOPโปรแกรม
โปรแกรม C ตรวจสอบว่าเลขที่กำหนดเป็น จำนวนสมบูรณ์หรือไม่:
#include <stdio.h>
int main() {
int number, i, result = 0; // ประกาศตัวแปรและกำหนด result = 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) // ตรวจสอบผลรวมตัวประกอบ == 2*number
printf("perfect number");
else
printf("not perfect number");
return 0;
}ผลลัพธ์
ผลลัพธ์ด้านล่าง:
enter the number: 28 perfect number enter the number: 46 not perfect number