Posted on by Kalkicode
Code Number

# Product of factors of number

The "Product of Factors of a Number" problem involves finding all the factors of a given positive integer and then calculating their product. A factor of a number is a positive integer that divides the number without leaving a remainder. The product of these factors is simply the result of multiplying all the factors together. In this article, we will explain the problem, provide a suitable example, present the pseudocode and algorithm to solve the problem, and analyze the time complexity of the given code.

## Problem Statement

Given a positive integer `num`, we need to find all the factors of `num` and then calculate their product.

## Example

Let's take an example to illustrate the problem. Consider the number `20`. Factors of 20 are: 1, 2, 4, 5, 10, and 20. Product of factors = 1 * 2 * 4 * 5 * 10 * 20 = 800

## Pseudocode

``````factorProduct(num)
result = num
for i = 2 to num/2
if num is divisible by i
print i
result = result * i
print num
print "Factors Product :", result
``````

## Algorithm Explanation

1. Start by initializing the variable `result` to the value of `num`. This variable will store the product of factors.
2. Loop through all integers `i` from 2 to `num/2`. We start from 2 because every number is divisible by 1, and we go up to `num/2` because any factor greater than `num/2` would result in a quotient less than 2, which means it's not a factor.
3. Inside the loop, check if `num` is divisible by `i` using the modulo operator (`num % i == 0`). If the condition is true, it means `i` is a factor of `num`.
4. Print the value of `i`, as it is one of the factors.
5. Update the `result` by multiplying it with the factor `i`.
6. After the loop, print the value of `num` to include it as one of the factors.
7. Print the final result, which is the product of all the factors stored in the `result` variable.

## Code Solution

Here given code implementation process.

``````// C Program
// Product of factors of number
#include <stdio.h>

// Calculate factors product of a number
void factorProduct(int num)
{
printf("\n Factors of a number %d is \n", num);
int result = num;
// Execute loop through by 2 to num/2
for (int i = 2; i <= num / 2; ++i)
{
if (num % i == 0)
{
printf(" %d", i);
// calculated product
result *= i;
}
}
// Last factors
printf(" %d", num);
// Display calculated result
printf("\n Factors Product : %d\n", result);
}
int main()
{
// Test Cases
factorProduct(15);
factorProduct(40);
factorProduct(31);
return 0;
}``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````/*
Java Program
Product of factors of number
*/
public class Factorization
{
// Calculate factors product of a number
public void factorProduct(int num)
{
System.out.print("\n Factors of a number " + num + " is \n");
int result = num;
// Execute loop through by 2 to num/2
for (int i = 2; i <= num / 2; ++i)
{
if (num % i == 0)
{
System.out.print(" " + i);
// calculated product
result *= i;
}
}
// Last factors
System.out.print(" " + num);
// Display calculated result
System.out.print("\n Factors Product : " + result + "\n");
}
public static void main(String[] args)
{
// Test Cases
}
}``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````// Include header file
#include <iostream>
using namespace std;

/*
C++ Program
Product of factors of number
*/

class Factorization
{
public:
// Calculate factors product of a number
void factorProduct(int num)
{
cout << "\n Factors of a number " << num << " is \n";
int result = num;
// Execute loop through by 2 to num/2
for (int i = 2; i <= num / 2; ++i)
{
if (num % i == 0)
{
cout << " " << i;
// calculated product
result *= i;
}
}
// Last factors
cout << " " << num;
// Display calculated result
cout << "\n Factors Product : " << result << "\n";
}
};
int main()
{
// Test Cases
return 0;
}``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````// Include namespace system
using System;
/*
C# Program
Product of factors of number
*/
public class Factorization
{
// Calculate factors product of a number
public void factorProduct(int num)
{
Console.Write("\n Factors of a number " + num + " is \n");
int result = num;
// Execute loop through by 2 to num/2
for (int i = 2; i <= num / 2; ++i)
{
if (num % i == 0)
{
Console.Write(" " + i);
// calculated product
result *= i;
}
}
// Last factors
Console.Write(" " + num);
// Display calculated result
Console.Write("\n Factors Product : " + result + "\n");
}
public static void Main(String[] args)
{
// Test Cases
}
}``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````<?php
/*
Php Program
Product of factors of number
*/
class Factorization
{
// Calculate factors product of a number
public	function factorProduct(\$num)
{
echo "\n Factors of a number ". \$num ." is \n";
\$result = \$num;
// Execute loop through by 2 to num/2
for (\$i = 2; \$i <= intval(\$num / 2); ++\$i)
{
if (\$num % \$i == 0)
{
echo " ". \$i;
// calculated product
\$result *= \$i;
}
}
// Last factors
echo " ". \$num;
// Display calculated result
echo "\n Factors Product : ". \$result ."\n";
}
}

function main()
{
// Test Cases
}
main();``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````/*
Node Js Program
Product of factors of number
*/
class Factorization
{
// Calculate factors product of a number
factorProduct(num)
{
process.stdout.write("\n Factors of a number " + num + " is \n");
var result = num;
// Execute loop through by 2 to num/2
for (var i = 2; i <= parseInt(num / 2); ++i)
{
if (num % i == 0)
{
process.stdout.write(" " + i);
// calculated product
result *= i;
}
}
// Last factors
process.stdout.write(" " + num);
// Display calculated result
process.stdout.write("\n Factors Product : " + result + "\n");
}
}

function main()
{
// Test Cases
}
main();``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````#  Python 3 Program
#  Product of factors of number

class Factorization :
#  Calculate factors product of a number
def factorProduct(self, num) :
print("\n Factors of a number ", num ," is ")
result = num
i = 2
#  Execute loop through by 2 to num/2
while (i <= int(num / 2)) :
if (num % i == 0) :
print(" ", i, end = "")
#  calculated product
result *= i

i += 1

#  Last factors
print(" ", num, end = "")
#  Display calculated result
print("\n Factors Product :", result )

def main() :
#  Test Cases

if __name__ == "__main__": main()``````

#### Output

`````` Factors of a number  15  is
3  5  15
Factors Product : 225

Factors of a number  40  is
2  4  5  8  10  20  40
Factors Product : 2560000

Factors of a number  31  is
31
Factors Product : 31``````
``````# Ruby Program
# Product of factors of number

class Factorization
#  Calculate factors product of a number
def factorProduct(num)
print("\n Factors of a number ", num ," is \n")
result = num
i = 2
#  Execute loop through by 2 to num/2
while (i <= num / 2)
if (num % i == 0)
print(" ", i)
#  calculated product
result *= i
end

i += 1
end

#  Last factors
print(" ", num)
#  Display calculated result
print("\n Factors Product : ", result ,"\n")
end

end

def main()
#  Test Cases
end

main()``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31
``````
``````/*
Scala Program
Product of factors of number
*/
class Factorization
{
// Calculate factors product of a number
def factorProduct(num: Int): Unit = {
print("\n Factors of a number " + num + " is \n");
var result: Int = num;
var i: Int = 2;
// Execute loop through by 2 to num/2
while (i <= (num / 2).toInt)
{
if (num % i == 0)
{
print(" " + i);
// calculated product
result *= i;
}
i += 1;
}
// Last factors
print(" " + num);
// Display calculated result
print("\n Factors Product : " + result + "\n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Factorization = new Factorization();
// Test Cases
}
}``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````
``````/*
Swift 4 Program
Product of factors of number
*/
class Factorization
{
// Calculate factors product of a number
func factorProduct(_ num: Int)
{
print("\n Factors of a number ", num ," is ");
var result: Int = num;
var i: Int = 2;
// Execute loop through by 2 to num/2
while (i <= num / 2)
{
if (num % i == 0)
{
print(" ", i, terminator: "");
// calculated product
result *= i;
}
i += 1;
}
// Last factors
print(" ", num, terminator: "");
// Display calculated result
print("\n Factors Product : ", result );
}
}
func main()
{
// Test Cases
}
main();``````

#### Output

`````` Factors of a number  15  is
3  5  15
Factors Product :  225

Factors of a number  40  is
2  4  5  8  10  20  40
Factors Product :  2560000

Factors of a number  31  is
31
Factors Product :  31``````
``````/*
Kotlin Program
Product of factors of number
*/
class Factorization
{
// Calculate factors product of a number
fun factorProduct(num: Int): Unit
{
print("\n Factors of a number " + num + " is \n");
var result: Int = num;
var i: Int = 2;
// Execute loop through by 2 to num/2
while (i <= num / 2)
{
if (num % i == 0)
{
print(" " + i);
// calculated product
result *= i;
}
i += 1;
}
// Last factors
print(" " + num);
// Display calculated result
print("\n Factors Product : " + result + "\n");
}
}
fun main(args: Array < String > ): Unit
{
// Test Cases
}``````

#### Output

`````` Factors of a number 15 is
3 5 15
Factors Product : 225

Factors of a number 40 is
2 4 5 8 10 20 40
Factors Product : 2560000

Factors of a number 31 is
31
Factors Product : 31``````

## Resultant Output Explanation

let's evaluate the output for the given test cases:

1. `factorProduct(15);`

• Factors of 15 are: 3, 5, 15
• Product of factors = 3 * 5 * 15 = 225
2. `factorProduct(40);`

• Factors of 40 are: 2, 4, 5, 8, 10, 20, 40
• Product of factors = 2 * 4 * 5 * 8 * 10 * 20 * 40 = 2560000
3. `factorProduct(31);`

• Factors of 31 are: 31
• Product of factors = 31

## Time Complexity

Let's analyze the time complexity of the given code. The loop runs from 2 to `num/2`, so its time complexity can be considered as O(num/2). However, the constant factor is ignored in Big O notation. Hence, the time complexity of the code is approximately O(num).

In simple terms, the time taken by the code to calculate the product of factors depends linearly on the input `num`. As `num` grows larger, the time taken by the code also grows linearly.

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post