Ways to express a number as product of two different factors

23 Jun, 2022
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++
Java
Python 3
C#
PHP
Javascript
// 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 numbersint 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 program to find number of ways// in which number expressed as// product of two different factorspublic 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 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 numbersdef 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 = 12print (countWays(n)) # This code is contributed# by Azkia Anam.
// C# program to find number of ways// in which number expressed as// product of two different factorsusing 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 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 numbersfunction 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?>
<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)
This article is contributed by Aarti_Rathi and nuclode. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
jit_t
code_hunt
codewithmini
prime-factor
Mathematical
School Programming
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Algorithm to solve Rubik's Cube
Program to print prime numbers from 1 to N.
Merge two sorted arrays with O(1) extra space
Segment Tree | Set 1 (Sum of given range)
Fizz Buzz Implementation
Python Dictionary
Reverse a string in Java
Arrays in C/C++
Introduction To PYTHON
Interfaces in Java