Program to find greater value between a^n and b^n

Given three integers a, b and n, the task is to find out greater value between an and bn.

Examples:

Input: a = 3, b = 4, n = 5
Output: b^n is greater than a^n
Value of an is 243 and the value of bn is 1024.
So, bn is greater than an.

Input: a = -3, b = 2, n = 4
Output: a^n is greater than b^n
Value of an is 243 and the value of bn is 16.
So, an is greater than bn.

Basic Approach: For every value of a, b and n, calculate the values of an and bn. Then compare the result obtained and display the according to output.

The problem with this approach arises when there are large values of a, b and n. For large values of a, n, calculating an can exceed the limit of integer which will cause integer overflow.

Better approach is to check the value of n.

  • If n is even then calculate the absolute value of a and b.
  • If n is odd then take the given value as it is.
  • Now check if a is equal to b. If yes, print 0.
  • If a is greater than b, print 1.
  • Otherwise, print 2.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ code for finding greater
// between the a^n and b^n
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the greater value
void findGreater(int a, int b, int n)
{
    // If n is even
    if (!(n & 1)) {
  
        a = abs(a);
        b = abs(b);
    }
    if (a == b)
        cout << "a^n is equal to b^n";
  
    else if (a > b)
        cout << "a^n is greater than b^n";
  
    else
        cout << "b^n is greater than a^n";
}
  
// Driver code
int main()
{
    int a = 12, b = 24, n = 5;
    findGreater(a, b, n);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// JAVA code for finding greater
// between the a^n and b^n
import java.io.*;
  
class GFG
{
    // Function to find
    // the greater value
    static void findGreater(int a, 
                            int b, int n)
{
    // If n is even
    if (!((n & 1) > 0)) 
    {
  
        a = Math.abs(a);
        b = Math.abs(b);
    }
    if (a == b)
        System.out.println("a^n is "
                           "equal to b^n");
  
    else if (a > b)
        System.out.println("a^n is greater "
                                  "than b^n");
  
    else
        System.out.println("b^n is greater "
                                  "than a^n");
}
  
// Driver code
public static void main (String[] args) 
{
int a = 12, b = 24, n = 5;
findGreater(a, b, n);
}
}
  
// This code is contributed
// by shiv_bhakt.

chevron_right


Python3

# Python3 code for finding greater
# between the a^n and b^n
import math

# Function to find the greater value
def findGreater(a, b, n):

# If n is even
if ((n & 1) > 0):

a = abs(a);
b = abs(b);
if (a == b):
print(“a^n is equal to b^n”);

elif (a > b):
print(“a^n is greater than b^n”);

else:
print(“b^n is greater than a^n”);

# Driver code
a = 12;
b = 24;
n = 5;
findGreater(a, b, n);

# This code is contributed by mits

C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code for finding greater
// between the a^n and b^n
using System;
  
class GFG
{
    // Function to find
    // the greater value
    static void findGreater(int a, 
                            int b, 
                            int n)
    {
    // If n is even
    if (!((n & 1) > 0)) 
    {
  
        a = Math.Abs(a);
        b = Math.Abs(b);
    }
      
    if (a == b)
        Console.WriteLine("a^n is "
                          "equal to b^n");
  
    else if (a > b)
        Console.WriteLine("a^n is greater "
                                 "than b^n");
  
    else
        Console.WriteLine("b^n is greater "
                                 "than a^n");
}
  
// Driver code
public static void Main() 
{
    int a = 12, b = 24, n = 5;
    findGreater(a, b, n);
}
}
  
// This code is contributed
// by shiv_bhakt.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP code for finding greater
// between the a^n and b^n
  
// Function to find
// the greater value
function findGreater($a, $b, $n)
{
    // If n is even
    if (!($n & 1))
    {
  
        $a = abs($a);
        $b = abs($b);
    }
    if ($a == $b)
        echo "a^n is equal to b^n";
  
    else if ($a > $b)
        echo "a^n is greater than b^n";
  
    else
        echo "b^n is greater than a^n";
}
  
// Driver code
$a = 12; $b = 24; $n = 5;
findGreater($a, $b, $n);
  
// This code is contributed by ajit
?>

chevron_right


Output:

b^n is greater than a^n


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.





Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.