Count of multiplicative partitions of N
Given an integer N, the task is to find the total number of multiplicative partitions for N.
Multiplicative Partition: Number of ways of factoring of an integer with all factors greater than 1.
Input: N = 20
Multiplicative partitions of 20 are:
2 × 2 × 5 = 2 × 10 = 4 × 5 = 20.
Input: N = 30
Multiplicative partitions of 30 are:
2 × 3 × 5 = 2 × 15 = 6 × 5 = 3 × 10 = 30
Approach: The idea is to try for every divisor of the N and then recursively break the dividend to get the multiplicative partitions. Below are the illustrations of the steps of the approach:
- Initialize minimum factor as 2. Since it is the minimum factor other than 1.
- Start a loop from i = minimum to N – 1, and check if the number divides N and N/i > i, then increment the counter by 1 and again call the same function. Since i divides n so it means i and N/i can be factorized some more times.
If N = 30, let i = min = 2
30 % 2 = 0, so again recur with (2, 15)
15 % 3 = 0, so again recur with (3, 5)
and so on.
Below is the implementation of the above approach:
Time Complexity: O(n)
Auxiliary Space: O(1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.