Número de enteros distintos obtenidos por mcm(X, N)/X

Dado un número N, encuentre el número de enteros distintos obtenidos por MCM (X, N)/X donde X puede ser cualquier número positivo. 

Ejemplos :  

Input: N = 2  
Output: 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 = 3
Output: 2  

Se sabe que LCM(x, y) = x*y/GCD(x, y) .
Por lo tanto,  

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

Entonces, solo los factores distintos de  N     pueden ser los enteros distintos posibles. Por lo tanto, cuente el número de factores distintos de N, incluidos 1 y N mismo, que es la respuesta requerida. 

A continuación se muestra la implementación del enfoque anterior:  

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>
Producción

2

Complejidad de tiempo : O(sqrt(n))
Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Striver y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *