Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Aliquot Sum ใน C++


ที่นี่เราจะดูว่า 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