# Number of distinct integers obtained by lcm(X, N)/X

Given a number N, find the number of distinct integers obtained by **LCM*** (X, N)/X* where X can be any positive number.

**Examples**:

Input: N = 2Output: 2 if X is 1, then lcm(1, 2)/1 is 2/1=2. if X is 2, then lcm(2, 2)/2 is 2/2=1. For any X greater than 2 we cannot obtain a distinct integer.Input: N = 3Output: 2

It is known that **LCM(x, y) = x*y/GCD(x, y)**.

Therefore,

lcm(X, N) = X*N/gcd(X, N) or,lcm(X, N)/X= N/gcd(X, N)

So only the distinct factors of can be the distinct integers possible. Hence, count the number of distinct factors of N including 1 and N itself, which is the required answer.

Below is the implementation of the above approach:

## C++

`// C++ program to find distinct integers` `// obtained by lcm(x, num)/x` `#include <cmath>` `#include <iostream>` `using` `namespace` `std;` `// Function to count the number of distinct` `// integers obtained by lcm(x, num)/x` `int` `numberOfDistinct(` `int` `n)` `{` ` ` `int` `ans = 0;` ` ` `// iterate to count the number of factors` ` ` `for` `(` `int` `i = 1; i <= ` `sqrt` `(n); i++) {` ` ` `if` `(n % i == 0) {` ` ` `ans++;` ` ` `if` `((n / i) != i)` ` ` `ans++;` ` ` `}` ` ` `}` ` ` `return` `ans;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `n = 3;` ` ` `cout << numberOfDistinct(n);` ` ` `return` `0;` `}` |

## Java

`// Java program to find distinct integers` `// obtained by lcm(x, num)/x` `import` `java.io.*;` `class` `GFG {` ` ` `// Function to count the number of distinct` `// integers obtained by lcm(x, num)/x` `static` `int` `numberOfDistinct(` `int` `n)` `{` ` ` `int` `ans = ` `0` `;` ` ` `// iterate to count the number of factors` ` ` `for` `(` `int` `i = ` `1` `; i <= Math.sqrt(n); i++) {` ` ` `if` `(n % i == ` `0` `) {` ` ` `ans++;` ` ` `if` `((n / i) != i)` ` ` `ans++;` ` ` `}` ` ` `}` ` ` `return` `ans;` `}` `// Driver Code` ` ` `public` `static` `void` `main (String[] args) {` ` ` `int` `n = ` `3` `;` ` ` `System.out.println (numberOfDistinct(n));` ` ` `}` `}` |

## Python3

`# Python 3 program to find distinct integers` `# obtained by lcm(x, num)/x` `import` `math` `# Function to count the number of distinct` `# integers obtained by lcm(x, num)/x` `def` `numberOfDistinct(n):` ` ` `ans ` `=` `0` ` ` `# iterate to count the number of factors` ` ` `for` `i ` `in` `range` `( ` `1` `, ` `int` `(math.sqrt(n))` `+` `1` `):` ` ` `if` `(n ` `%` `i ` `=` `=` `0` `) :` ` ` `ans ` `+` `=` `1` ` ` `if` `((n ` `/` `/` `i) !` `=` `i):` ` ` `ans ` `+` `=` `1` ` ` `return` `ans` `# Driver Code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `n ` `=` `3` ` ` `print` `(numberOfDistinct(n))` `# This code is contributed by` `# ChitraNayal` |

## C#

`// C# program to find distinct integers` `// obtained by lcm(x, num)/x` `using` `System;` `class` `GFG` `{` ` ` `// Function to count the number` `// of distinct integers obtained` `// by lcm(x, num)/x` `static` `int` `numberOfDistinct(` `int` `n)` `{` ` ` `int` `ans = 0;` ` ` `// iterate to count the number` ` ` `// of factors` ` ` `for` `(` `int` `i = 1; i <= Math.Sqrt(n); i++)` ` ` `{` ` ` `if` `(n % i == 0)` ` ` `{` ` ` `ans++;` ` ` `if` `((n / i) != i)` ` ` `ans++;` ` ` `}` ` ` `}` ` ` `return` `ans;` `}` `// Driver Code` `static` `public` `void` `Main ()` `{` ` ` `int` `n = 3;` ` ` `Console.WriteLine(numberOfDistinct(n));` `}` `}` `// This code is contributed by ajit` |

## PHP

`<?php` `// PHP program to find distinct` `// integers obtained by lcm(x, num)/x` `// Function to count the number` `// of distinct integers obtained` `// by lcm(x, num)/x` `function` `numberOfDistinct(` `$n` `)` `{` ` ` `$ans` `= 0;` ` ` `// iterate to count the` ` ` `// number of factors` ` ` `for` `(` `$i` `= 1; ` `$i` `<= sqrt(` `$n` `); ` `$i` `++)` ` ` `{` ` ` `if` `(` `$n` `% ` `$i` `== 0)` ` ` `{` ` ` `$ans` `++;` ` ` `if` `((` `$n` `/ ` `$i` `) != ` `$i` `)` ` ` `$ans` `++;` ` ` `}` ` ` `}` ` ` `return` `$ans` `;` `}` `// Driver Code` `$n` `= 3;` `echo` `numberOfDistinct(` `$n` `);` `// This code is contributed by ajit` `?>` |

## Javascript

`<script>` `// javascript program to find distinct integers` `// obtained by lcm(x, num)/x ` `// Function to count the number of distinct` ` ` `// integers obtained by lcm(x, num)/x` ` ` `function` `numberOfDistinct(n) {` ` ` `var` `ans = 0;` ` ` `// iterate to count the number of factors` ` ` `for` `(i = 1; i <= Math.sqrt(n); i++) {` ` ` `if` `(n % i == 0) {` ` ` `ans++;` ` ` `if` `((n / i) != i)` ` ` `ans++;` ` ` `}` ` ` `}` ` ` `return` `ans;` ` ` `}` ` ` `// Driver Code` ` ` ` ` `var` `n = 3;` ` ` `document.write(numberOfDistinct(n));` `// This code contributed by umadevi9616` `</script>` |

**Output:**

2

**Time Complexity**: O(sqrt(n))