C Program to Find minimum sum of factors of number
Last Updated :
20 Oct, 2023
Write a C program for a given number N, the task is to find the minimum sum of its factors.
Examples:
Input : 12
Output : 7
Explanation:
Following are different ways to factorize 12 and
sum of factors in different ways.
12 = 12 * 1 = 12 + 1 = 13
12 = 2 * 6 = 2 + 6 = 8
12 = 3 * 4 = 3 + 4 = 7
12 = 2 * 2 * 3 = 2 + 2 + 3 = 7
Therefore 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.
Below is the implementation of the above approach:
C
#include <stdio.h>
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;
printf ( "%d\n" , findMinSum(num));
return 0;
}
|
Time Complexity : O(n1/2 * log n)
Auxiliary Space: O(1)
Please refer complete article on
Find minimum sum of factors of number
for more details!
Share your thoughts in the comments
Please Login to comment...