C ++中的等分和?

在这里,我们将看到等分总和是多少?n的等分和是n以外的所有理想因子的总和。例如,如果数字为20,则理想因子为(1、2、4、5、10)。因此,等分和为22。

一个有趣的事实是,如果一个数字的等分和是数字本身,那么该数字就是一个理想数字。例如,6。因子为(1、2、3)。等分和为1 + 2 + 3 = 6。

让我们看看如何使用以下算法获得等分和。

算法

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