在数论中 等分总和 正整数n的s(n)是n的所有真因子之和,也就是n的除n本身以外的所有因子之和。 它们由等分因子之和定义。一个数的等分除数是除数本身以外的所有除数。等分之和是等分因子的和,例如,12的等分因子是1,2,3,4和6,等分之和是16。 一个数字 等分总和 等于它的值是一个完美的数字(例如6)。 例如:
null
Input : 12Output : 16Explanation :Proper divisors of 12 is = 1, 2, 3, 4, 6 and sum 1 + 2 + 3 + 4 + 6 = 16Input : 15Output : 9Explanation :Proper divisors of 15 is 1, 3, 5and sum 1 + 3 + 5 = 9
A. 简单解决方案 遍历所有小于n的数。对于每个数i,检查i是否除以n。如果是,我们将其添加到结果中。
C++
// CPP program for aliquot sum #include <iostream> using namespace std; // Function to calculate sum of // all proper divisors int aliquotSum( int n) { int sum = 0; for ( int i = 1; i < n; i++) if (n % i == 0) sum += i; return sum; } // Driver Code int main() { int n = 12; cout << aliquotSum(n); return 0; } |
JAVA
// Java program for aliquot sum import java.io.*; class GFG { // Function to calculate sum of // all proper divisors static int aliquotSum( int n) { int sum = 0 ; for ( int i = 1 ; i < n; i++) if (n % i == 0 ) sum += i; return sum; } // Driver Code public static void main(String args[]) throws IOException { int n = 12 ; System.out.println(aliquotSum(n)); } } /* This code is contributed by Nikita Tiwari.*/ |
Python3
# Python 3 program for aliquot sum # Function to calculate sum of # all proper divisors def aliquotSum(n) : sm = 0 for i in range ( 1 ,n) : if (n % i = = 0 ) : sm = sm + i return sm # return sum # Driver Code n = 12 print (aliquotSum(n)) # This code is contributed by Nikita Tiwari. |
C#
// C# program for aliquot sum using System; class GFG { // Function to calculate sum of // all proper divisors static int aliquotSum( int n) { int sum = 0; for ( int i = 1; i < n; i++) if (n % i == 0) sum += i; return sum; } // Driver Code public static void Main() { int n = 12; Console.WriteLine(aliquotSum(n)); } } /* This code is contributed by vt_m.*/ |
PHP
<?php // PHP program for aliquot sum // Function to calculate sum of // all proper divisors function aliquotSum( $n ) { $sum = 0; for ( $i = 1; $i < $n ; $i ++) if ( $n % $i == 0) $sum += $i ; return $sum ; } // Driver Code $n = 12; echo (aliquotSum( $n )); // This code is contributed by Ajit. ?> |
Javascript
<script> // JavaScript program for aliquot sum // Function to calculate sum of // all proper divisors function aliquotSum(n) { let sum = 0; for (let i = 1; i < n; i++) if (n % i == 0) sum += i; return sum; } // Driver code let n = 12; document.write(aliquotSum(n)); </script> |
输出:
16
高效的解决方案: 一个自然数的所有真因子之和 一个数的所有因子之和
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END