Find last five digits of a given five digit number raised to power five

Given a five digit number N. The task is to find the last five digits of the given number raised to the power of 5 after modifying it by arranging the digits as:

first digit, third digit, fifth digit, fourth digit, second digit.

Examples:

Input : N = 12345
Output : 71232
Explanation : 
After modification the number becomes 13542. (13542)5 is 
455422043125550171232

Input : N = 10000
Output : 00000


Approach : In this problem, just implementation of the actions described in the statement is required. However, there are two catches in this problem.

The first catch is that the fifth power of five-digit number cannot be represented by a 64-bit integer. But we do not actually need the fifth power, we need the fifth power modulo 105. And mod operation can be applied after each multiplication.

The second catch is that you need to output five digits, not the fifth power modulo 105. The difference is when the fifth digit from the end is zero. To output, a number with the leading zero one can either use corresponding formatting (%05d in printf) or extract digits and output them one by one.

Below is the implementation of the above approach :

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to find last five digits
// of a five digit number raised to power five
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the last five digits
// of a five digit number raised to power five
int lastFiveDigits(int n)
{
    n = (n / 10000) * 10000
        + ((n / 100) % 10)
              * 1000
        + (n % 10)
              * 100
        + ((n / 10) % 10)
              * 10
        + (n / 1000) % 10;
  
    int ans = 1;
    for (int i = 0; i < 5; i++) {
        ans *= n;
        ans %= 100000;
    }
  
    printf("%05d", ans);
}
  
// Driver code
int main()
{
    int n = 12345;
  
    lastFiveDigits(n);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to find last five digits
// of a five digit number raised to power five
  
class GfG {
  
    // Function to find the last five digits
    // of a five digit number raised to power five
    static void lastFiveDigits(int n)
    {
        n = (n / 10000) * 10000
            + ((n / 100) % 10)
                  * 1000
            + (n % 10)
                  * 100
            + ((n / 10) % 10)
                  * 10
            + (n / 1000) % 10;
  
        int ans = 1;
        for (int i = 0; i < 5; i++) {
            ans *= n;
            ans %= 100000;
        }
  
        System.out.println(ans);
    }
  
    // Driver code
    public static void main(String[] args)
    {
        int n = 12345;
  
        lastFiveDigits(n);
    }
}

chevron_right


Python3

# Python3 program to find last five digits
# of a five digit number raised to power five

# Function to find the last five digits
# of a five digit number raised to power five
def lastFiveDigits(n):
n = ((int)(n / 10000) * 10000 +
((int)(n / 100) % 10) * 1000 + (n % 10) * 100 +
((int)(n / 10) % 10) * 10 + (int)(n / 1000) % 10)
ans = 1
for i in range(5):
ans *= n
ans %= 100000
print(ans)

# Driver code
if __name__ == ‘__main__’:
n = 12345

lastFiveDigits(n)

# This code contributed by PrinciRaj1992

C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to find last five 
// digits of a five digit number
// raised to power five 
using System;
  
class GFG
{
  
    // Function to find the last 
    // five digits of a five digit
    // number raised to power five 
    public static void lastFiveDigits(int n)
    {
        n = (n / 10000) * 10000 + 
           ((n / 100) % 10) * 1000 + 
            (n % 10) * 100 + 
           ((n / 10) % 10) * 10 + 
            (n / 1000) % 10;
  
        int ans = 1;
        for (int i = 0; i < 5; i++)
        {
            ans *= n;
            ans %= 100000;
        }
  
        Console.WriteLine(ans);
    }
  
    // Driver code 
    public static void Main(string[] args)
    {
        int n = 12345;
  
        lastFiveDigits(n);
    }
}
  
// This code is contributed
// by Shrikant13

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to find last five digits
// of a five digit number raised to power five
  
// Function to find the last five digits
// of a five digit number raised to power five
function lastFiveDigits($n)
{
    $n = (int)($n / 10000) * 10000 + 
        ((int)($n / 100) % 10) * 1000 + 
              ($n % 10) * 100 + 
        ((int)($n / 10) % 10) * 10 + 
         (int)($n / 1000) % 10;
  
    $ans = 1;
    for ($i = 0; $i < 5; $i++)
    {
        $ans *= $n;
        $ans %= 100000;
    }
  
    echo $ans;
}
  
// Driver code
$n = 12345;
  
lastFiveDigits($n);
  
// This code is contributed
// by Akanksha Rai
?>

chevron_right


Output:

71232


My Personal Notes arrow_drop_up

pawanasipugmailcom

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.