# 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 a^{n} and b^{n}.

**Examples:**

Input:a = 3, b = 4, n = 5

Output:b^n is greater than a^n

Value of a^{n}is 243 and the value of b^{n}is 1024.

So, b^{n}is greater than a^{n}.

Input:a = -3, b = 2, n = 4

Output:a^n is greater than b^n

Value of a^{n}is 243 and the value of b^{n}is 16.

So, a^{n}is greater than b^{n}.

**Basic Approach:** For every value of a, b and n, calculate the values of a^{n} and b^{n}. 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 a^{n} 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++

`// 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*

*filter_none*

## Java

`// 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*

*filter_none*

## 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#

`// 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*

*filter_none*

## PHP

`<?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*

*filter_none*

**Output:**

b^n is greater than a^n

## Recommended Posts:

- Find next greater number with same set of digits
- Find the Next perfect square greater than a given number
- Find minimum value to assign all array elements so that array product becomes greater
- Program to find sum of 1 + x/2! + x^2/3! +...+x^n/(n+1)!
- Program to find Sum of the series 1*3 + 3*5 + ....
- Program to find last two digits of 2^n
- Program to find LCM of two numbers
- Program to find GCD or HCF of two numbers
- Program to find the sum of a Series (1*1) + (2*2) + (3*3) + (4*4) + (5*5) + ... + (n*n)
- Program to find parity
- Program to find whether a no is power of two
- Program to find LCM of 2 numbers without using GCD
- Program to find the sum of a Series 1 + 1/2^2 + 1/3^3 + …..+ 1/n^n
- Program to find sum of series 1 + 2 + 2 + 3 + 3 + 3 + . . . + n
- Program to find Sum of a Series a^1/1! + a^2/2! + a^3/3! + a^4/4! +…….+ a^n/n!

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.