Encuentra los últimos cinco dígitos de un número dado de cinco dígitos elevado a cinco

Dado un número N de cinco dígitos, la tarea es encontrar los últimos cinco dígitos del número dado elevado a la potencia de 5 después de modificarlo ordenando los dígitos como: 

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

Ejemplos: 

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

Input : N = 10000
Output : 00000

Enfoque : en este problema, solo se requiere la implementación de las acciones descritas en el enunciado. Sin embargo, hay dos trampas en este problema.
El primer problema es que la quinta potencia de un número de cinco dígitos no se puede representar con un número entero de 64 bits. Pero en realidad no necesitamos la quinta potencia, necesitamos la quinta potencia módulo 10 5 . Y la operación mod se puede aplicar después de cada multiplicación.
El segundo problema es que necesita generar cinco dígitos, no el quinto módulo de potencia 10 5 . La diferencia es cuando el quinto dígito desde el final es cero. Para generar un número con el cero inicial, uno puede usar el formato correspondiente (% 05d en printf) o extraer dígitos y generarlos uno por uno.

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

C++

// 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;
}

Java

// 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);
    }
}

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#

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

PHP

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

Javascript

<script>
// JavaScript 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 = (Math.floor(n / 10000)) * 10000
        + (Math.floor(n / 100) % 10)
            * 1000
        + (n % 10)
            * 100
        + (Math.floor(n / 10) % 10)
            * 10
        + Math.floor(n / 1000) % 10;
 
    let ans = 1;
    for (let i = 0; i < 5; i++) {
        ans *= n;
        ans %= 100000;
    }
 
    document.write(ans);
}
 
// Driver code
 
    let n = 12345;
 
    lastFiveDigits(n);
 
// This code is contributed by Manoj.
 
</script>
Producción

71232

Complejidad temporal : O(1)
Espacio auxiliar: O(1)

Publicación traducida automáticamente

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