Programa para comparar m^n y n^m

Dados dos enteros positivos m y n , la tarea es escribir un programa que verifique si m^n es mayor, menor o igual que n^m.
Ejemplos: 
 

Entrada: m = 3, n = 10 
Salida: m^n > n^m 
Explicación: 3^10=59049 que es mayor que 10^3=1000
Entrada: m = 987654321, n = 123456987 
Salida: m^n < n ^ m
 

Un enfoque ingenuo es calcular m^n y n^m, lo que provoca un desbordamiento cuando m y n son muy grandes. 
Un enfoque eficiente es resolver este problema usando log
 

Dado LHS = m^n y RHS = n^m. 
Después de tomar log en ambos lados, LHS = n*log(m) y RHS = m*log(n) 
Luego compare LHS y RHS.

C++

// CPP program to compare which is greater
// m^n or n^m 
#include <bits/stdc++.h>
using namespace std;
 
// function to compare m^n and n^m
void check(unsigned long long m, unsigned long long int n)
    {
        // m^n
        double RHS = m * (double)log(n);
         
        // n^m
        double LHS = n * (double)log(m);
         
        if ( LHS > RHS )
            cout << "m^n > n^m";
             
        else if ( LHS < RHS )
            cout << "m^n < n^m";
             
        else
            cout << "m^n = n^m";
    }
 
// Drivers Code
int main() {
     
    unsigned long long m = 987654321, n = 123456987;
     
    // function call to compare m^n and n^m
    check(m, n);
     
    return 0;
}

Java

// Java program to compare which
// is greater m^n or n^m
import java .io.*;
 
class GFG
{
// function to compare
// m^n and n^m
static void check(long m, long n)
{
    // m^n
    double RHS = m * (double)Math.log(n);
     
    // n^m
    double LHS = n * (double)Math.log(m);
     
    if (LHS > RHS)
        System.out.print("m^n > n^m");
         
    else if (LHS < RHS)
    System.out.print("m^n < n^m");
         
    else
        System.out.print("m^n = n^m");
}
 
// Driver Code
static public void main (String[] args)
{
    long m = 987654321, n = 123456987;
 
    // function call to
    // compare m^n and n^m
    check(m, n);
}
}
 
// This code is contributed by anuj_67.

Python3

# Python3 program to compare
# which is greater m^n or n^m
import math
 
# function to compare
# m^n and n^m
def check( m, n):
     
    # m^n
    RHS = m * math.log(n);
     
    # n^m
    LHS = n * math.log(m);
     
    if (LHS > RHS):
        print("m^n > n^m");
         
    elif (LHS < RHS):
        print("m^n < n^m");
         
    else:
        print("m^n = n^m");
 
# Driver Code
m = 987654321;
n = 123456987;
 
# function call to
# compare m^n and n^m
check(m, n);
 
# This code is contributed by mits

C#

// C# program to compare which 
// is greater m^n or n^m
using System;
 
class GFG
{
// function to compare
// m^n and n^m
static void check(ulong m, ulong n)
{
    // m^n
    double RHS = m * (double)Math.Log(n);
     
    // n^m
    double LHS = n * (double)Math.Log(m);
     
    if (LHS > RHS)
        Console.Write("m^n > n^m");
         
    else if (LHS < RHS)
    Console.Write("m^n < n^m");
         
    else
        Console.Write("m^n = n^m");
}
 
// Driver Code
static public void Main ()
{
    ulong m = 987654321, n = 123456987;
 
    // function call to
    // compare m^n and n^m
    check(m, n);
 
}
}
 
// This code is contributed by anuj_67.

PHP

<?php
// PHP program to compare 
// which is greater m^n or n^m
 
// function to compare
// m^n and n^m
function check( $m, $n)
{
    // m^n
    $RHS = $m * log($n);
     
    // n^m
    $LHS = $n * log($m);
     
    if ( $LHS > $RHS )
        echo "m^n > n^m";
         
    else if ( $LHS < $RHS )
    echo "m^n < n^m";
         
    else
        echo "m^n = n^m";
}
 
// Driver Code
$m = 987654321;
$n = 123456987;
 
// function call to
// compare m^n and n^m
check($m, $n);
 
// This code is contributed by anuj_67.
?>

Javascript

<script>
 
// javascript program to compare which
// is greater m^n or n^m
 
// function to compare
// m^n and n^m
 
function check( m,  n)
{
    // m^n
    var RHS = m * Math.log(n);
       
    // n^m
    var LHS = n * Math.log(m);
       
    if (LHS > RHS){
        document.write("m^n > n^m");
    }
    else if (LHS < RHS) {
    document.write("m^n < n^m");
    }
           
    else {
        document.write("m^n = n^m");
    }
}
   
// Driver Code
 
     var m = 987654321 ; 
     var n = 123456987;
   
    // function call to
    // compare m^n and n^m
    check(m, n);
     
</script>

Producción : 
 

m^n < n^m

Publicación traducida automáticamente

Artículo escrito por aman0309 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 *