等分总和

在数论中 等分总和 正整数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
喜欢就支持一下吧
点赞8 分享