Find minimum sum of factors of number
Last Updated :
20 Oct, 2023
Given a number N, the task is to find minimum sum of its factors.
Examples:
Input: 12
Output: 7
Explanation:
Following are different ways to factorize 12 andsum of factors in different ways.12 = 12 * 1 = 12 + 1 = 1312 = 2 * 6 = 2 + 6 = 812 = 3 * 4 = 3 + 4 = 712 = 2 * 2 * 3 = 2 + 2 + 3 = 7Therefore minimum sum is 7
Input: 105
Output: 15
Approach:
To minimize sum, we must factorize factors as long as possible. With this process, we prime factors. So to find minimum sum of product of number, we find sum of prime factors of product.
C++
#include <bits/stdc++.h>
using namespace std;
int findMinSum( int num)
{
int sum = 0;
for ( int i = 2; i * i <= num; i++) {
while (num % i == 0) {
sum += i;
num /= i;
}
}
sum += num;
return sum;
}
int main()
{
int num = 12;
cout << findMinSum(num);
return 0;
}
|
Java
public class Main {
static int findMinSum( int num)
{
int sum = 0 ;
for ( int i = 2 ; i * i <= num; i++) {
while (num % i == 0 ) {
sum += i;
num /= i;
}
}
sum += num;
return sum;
}
public static void main(String[] args)
{
int num = 12 ;
System.out.println(findMinSum(num));
}
}
|
Python3
def findMinSum(num):
sum = 0
i = 2
while (i * i < = num):
while (num % i = = 0 ):
sum + = i
num / / = i
i + = 1
sum + = num
return sum
num = 12
print (findMinSum(num))
|
C#
using System;
public class GFG {
static int findMinSum( int num)
{
int sum = 0;
for ( int i = 2; i * i <= num; i++) {
while (num % i == 0) {
sum += i;
num /= i;
}
}
sum += num;
return sum;
}
public static void Main()
{
int num = 12;
Console.Write(findMinSum(num));
}
}
|
Javascript
<script>
function findMinSum(num)
{
let sum = 0;
for (let i = 2; i * i <= num; i++)
{
while (num % i == 0)
{
sum += i;
num /= i;
}
}
sum += num;
return sum;
}
let num = 12;
document.write(findMinSum(num));
</script>
|
PHP
<?php
function findMinSum( $num )
{
$sum = 0;
for ( $i = 2; $i * $i <= $num ; $i ++)
{
while ( $num % $i == 0)
{
$sum += $i ;
$num /= $i ;
}
}
$sum += $num ;
return $sum ;
}
$num = 12;
echo (findMinSum( $num ));
?>
|
Output:
7
Time Complexity : O(n1/2 * log n)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...