ที่นี่เราจะดูว่า Aliquot sum คืออะไร Aliquot sum ของ n คือผลรวมของตัวประกอบที่สมบูรณ์ (perfect factors) ของ n ยกเว้น n เอง ตัวอย่างเช่น ถ้าตัวเลขคือ 20 ตัวประกอบที่สมบูรณ์คือ (1, 2, 4, 5, 10) ดังนั้น Aliquot sum คือ 22
ข้อเท่าทนหนึ่งคือ ถ้า Aliquot sum ของจำนวนเท่ากับตัวเลขเอง จำนวนนั้นคือ perfect number (จำนวนสมบูรณ์) ตัวอย่างเช่น 6 ตัวประกอบคือ (1, 2, 3) Aliquot sum คือ 1+2+3=6
มาดูวิธีหา Aliquot sum โดยใช้อัลกอริทึมดังนี้
อัลกอริทึม
getAliquotSum(n)
begin
sum := 0
for i in range 1 to n, do
if n is divisible by i, then
sum := sum + i
end if
done
return sum.
end
ตัวอย่าง
#include <iostream>
using namespace std;
int getAliquotSum(int n) {
int sum = 0;
for(int i = 1; i < n; i++) {
if(n % i == 0) {
sum += i;
}
}
return sum;
}
int main() {
int n;
cout << "Enter a number to get Aliquot sum: ";
cin >> n;
cout << "The Aliquot sum of " << n << " is " << getAliquotSum(n);
}
ผลลัพธ์
Enter a number to get Aliquot sum: 20 The Aliquot sum of 20 is 22