Open In App

Ways to express a number as product of two different factors

Last Updated : 17 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given a number n, write a program to calculate the number of ways in which numbers can be expressed as the product of two different factors.
 

Examples: 

Input : 12
Output : 3
12 can be expressed as 1 * 12, 2 * 6 and 3*4. 

Input : 36
Output : 4
36 can be expressed as 1 * 36, 2 * 18, 3 * 12 and 4 * 9.
All factors of 12 are = 1, 2, 3, 4, 6, 12

We can observe that factors always exist in
pair which is equal to number.

Here (1, 12), (2, 6) and (3, 4) are such pairs.

As a number can be expressed as the product of two factors we only need to find the number of factors of number up to the square root of the number. And we only need to find only different pairs so in the case of a perfect square we don’t include that factor.
 

C++




// CPP program to find number of ways
// in which number expressed as
// product of two different factors
#include <bits/stdc++.h>
using namespace std;
  
// To count number of ways in which
// number expressed as product
// of two different numbers
int countWays(int n)
{
    // To store count of such pairs
    int count = 0;
  
    // Counting number of pairs
    // upto sqrt(n) - 1
    for (int i = 1; i * i < n; i++)
        if (n % i == 0)
            count++;
  
    // To return count of pairs
    return count;
}
  
// Driver program to test countWays()
int main()
{
    int n = 12;
    cout << countWays(n) << endl;
    return 0;
}


Java




// Java program to find number of ways
// in which number expressed as
// product of two different factors
public class Main {
  
    // To count number of ways in which
    // number expressed as product
    // of two different numbers
    static int countWays(int n)
    {
        // To store count of such pairs
        int count = 0;
  
        // Counting number of pairs
        // upto sqrt(n) - 1
        for (int i = 1; i * i < n; i++)
            if (n % i == 0)
                count++;
  
        // To return count of pairs
        return count;
    }
  
    // Driver program to test countWays()
    public static void main(String[] args)
    {
        int n = 12;
        System.out.println(countWays(n));
    }
}


Python 3




# Python 3 program to find number of ways
# in which number expressed as
# product of two different factors
  
# To count number of ways in which
# number expressed as product
# of two different numbers
def countWays(n):
      
    # To store count of such pairs
    count = 0
    i = 1
      
    # Counting number of pairs
    # upto sqrt(n) - 1
    while ((i * i)<n) : 
        if(n % i == 0):
            count += 1    
        i += 1
          
    # To return count of pairs
    return count
  
# Driver program to test countWays()
n = 12
print (countWays(n))
  
# This code is contributed
# by Azkia Anam.


C#




// C# program to find number of ways
// in which number expressed as
// product of two different factors
using System;
  
public class main {
  
    // To count number of ways in which
    // number expressed as product
    // of two different numbers
    static int countWays(int n)
    {
  
        // To store count of such pairs
        int count = 0;
  
        // Counting number of pairs
        // upto sqrt(n) - 1
        for (int i = 1; i * i < n; i++)
            if (n % i == 0)
                count++;
  
        // To return count of pairs
        return count;
    }
  
    // Driver program to test countWays()
    public static void Main()
    {
        int n = 12;
  
        Console.WriteLine(countWays(n));
    }
}
  
// This code is contributed by Anant Agarwal.


PHP




<?php
// PHP program to find number of ways
// in which number expressed as
// product of two different factors
  
// To count number of ways in which
// number expressed as product
// of two different numbers
function countWays($n)
{
    // To store count of such pairs
    $count = 0;
  
    // Counting number of pairs
    // upto sqrt(n) - 1
    for ($i = 1; $i * $i < $n; $i++) 
        if ($n % $i == 0)
            $count++; 
  
    // To return count of pairs
    return $count;
}
  
// Driver Code
$n = 12;
echo countWays($n), "\n";
  
// This code is contributed by ajit
?>


Javascript




<script>
// JavaScript program to find number of ways
// in which number expressed as
// product of two different factors
  
    // To count number of ways in which
    // number expressed as product
    // of two different numbers
    function countWays(n)
    {
        // To store count of such pairs
        let count = 0;
  
        // Counting number of pairs
        // upto sqrt(n) - 1
        for (let i = 1; i * i < n; i++)
            if (n % i == 0)
                count++;
  
        // To return count of pairs
        return count;
    }
   
// Driver Code
  
    let n = 12;
    document.write(countWays(n));
          
</script>


Output:  

3

Time Complexity: O(?n) 
Auxiliary Space: O(1)

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads