C++ 中的 aliquot 和?


这里,我们将了解 aliquot 和是什么?n 的 aliquot 和是指 n 的所有真因数之和,但 n 自身除外。例如,如果该数为 20,则真因数为 (1, 2, 4, 5, 10)。因此,aliquot 和为 22。

一个有趣的事实是,如果一个数的 aliquot 和等于该数本身,则这个数就是完全数。例如,6。其因数为 (1, 2, 3)。aliquot 和为 1+2+3=6。

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

算法

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

示例

 Live Demo

#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

更新于: 30-Jul-2019

199 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.