Computer >> Máy Tính >  >> Lập trình >> C ++

Tổng ngoại lệ trong C ++?

Sau đây chúng ta sẽ xem Aliquot sum là gì? Tổng Aliquot của n là tổng của tất cả các thừa số hoàn hảo của một n ngoại trừ n. Ví dụ, nếu số là 20, thì các thừa số hoàn hảo là (1, 2, 4, 5, 10). Vì vậy, tổng Aliquot là 22.

Một sự thật thú vị là, nếu tổng Aliquot của một số là chính số đó, thì số đó là một số hoàn hảo. Ví dụ, 6. Các thừa số là (1, 2, 3). Tổng Aliquot là 1 + 2 + 3 =6.

Hãy để chúng tôi xem cách chúng tôi có thể nhận được tổng Aliquot bằng cách sử dụng thuật toán sau.

Thuật toán

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

Ví dụ

#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);
}

Đầu ra

Enter a number to get Aliquot sum: 20
The Aliquot sum of 20 is 22