Los dos últimos dígitos de las potencias de 7

Dado un N positivo , la tarea es encontrar los dos últimos dígitos de 7 N.
Ejemplos: 
 

Entrada: N = 5 
Salida: 07 
Explicación: 
El valor de 7 5 = 7 * 7 * 7 * 7 * 7 = 8507 
Por lo tanto, los dos últimos dígitos son 07.
Entrada: N = 12 
Salida: 01 
Explicación: 
El valor de 7 12 = 13841287201 
Por lo tanto, los dos últimos dígitos son 01. 
 

Enfoque: un enfoque general para encontrar los últimos K dígitos de XY es discutir este artículo en complejidad de tiempo logarítmico. En este artículo, discutiremos la solución de tiempo constante.
A continuación se muestra la observación del valor de 7 N para algunos valores de N
 

7 1 = 7 últimos dos dígitos = 07 
7 2 = 49 últimos dos dígitos = 49 
7 3 = 243 últimos dos dígitos = 43 
7 4 = 2401 últimos dos dígitos = 01
7 5 = 16807 últimos dos dígitos = 07 
7 6 = 117649 último dos dígitos = 49 
7 7 = 823543 últimos dos dígitos = 43 
7 8 = 5764801 últimos dos dígitos = 01 
 

En base a las observaciones anteriores tenemos los siguientes casos: 
 

  1. Si los dos últimos dígitos en 7 N = 07 cuando N = 4K + 3.
  2. Si los dos últimos dígitos en 7 N = 49 cuando N = 4K + 2.
  3. Si los dos últimos dígitos en 7 N = 43 cuando N = 4K + 1.
  4. Si los dos últimos dígitos en 7 N = 01 cuando N = 4K.

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

C++

// C++ program for the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the last
// two digits of 7^N
string get_last_two_digit(int N)
{
    // Case 4
    if (N % 4 == 0)
        return "01";
 
    // Case 3
    else if (N % 4 == 1)
        return "07";
 
    // Case 2
    else if (N % 4 == 2)
        return "49";
 
    // Case 1
    return "43";
}
 
// Driver Code
int main()
{
    // Given Number
    int N = 12;
 
    // Function Call
    cout << get_last_two_digit(N);
    return 0;
}

Java

// Java program for the above approach
import java.io.*;
import java.util.*;
 
class GFG{
 
// Function to find the last
// two digits of 7^N
public static String get_last_two_digit(int N)
{
    // Case 4
    if (N % 4 == 0)
        return "01";
 
    // Case 3
    else if (N % 4 == 1)
        return "07";
 
    // Case 2
    else if (N % 4 == 2)
        return "49";
 
    // Case 1
    return "43";
}
 
// Driver code
public static void main(String[] args)
{
    int N = 12;
 
    // Function Call
    System.out.println(get_last_two_digit(N));
}
}
 
// This code is contributed by grand_master

Python3

# Python3 program for the above approach
 
# Function to find the last
# two digits of 7 ^ N
def get_last_two_digit(N):
 
    # Case 4
    if (N % 4 == 0):
        return "01";
 
    # Case 3
    elif (N % 4 == 1):
        return "07";
 
    # Case 2
    elif (N % 4 == 2):
        return "49";
 
    # Case 1
    return "43";
     
# Driver Code
 
# Given number
N = 12;
 
# Function call
print( get_last_two_digit(N))
 
# This code is contributed by grand_master

C#

// C# program for the above approach
using System;
 
namespace GFG{
class GFG{
     
// Function to find the last
// two digits of 7^N
public static String get_last_two_digit(int N)
{
    // Case 4
    if (N % 4 == 0)
        return "01";
 
    // Case 3
    else if (N % 4 == 1)
        return "07";
 
    // Case 2
    else if (N % 4 == 2)
        return "49";
 
    // Case 1
    return "43";
}
 
// Driver code
public static void Main()
{
     
    // Given number
    int N = 12;
 
    // Function Call
    Console.Write(get_last_two_digit(N));
}
}
}
 
// This code is contributed by grand_master

Javascript

<script>
 
// Javascript program for the above approach
 
// Function to find the last
    // two digits of 7^N
    function get_last_two_digit(N)
    {
        // Case 4
        if (N % 4 == 0)
            return "01";
 
        // Case 3
        else if (N % 4 == 1)
            return "07";
 
        // Case 2
        else if (N % 4 == 2)
            return "49";
 
        // Case 1
        return "43";
    }
 
    // Driver code
     
        var N = 12;
 
        // Function Call
        document.write(get_last_two_digit(N));
 
// This code contributed by gauravrajput1
 
</script>
Producción: 

01

 

Tiempo Complejidad: O(1)  
Espacio Auxiliar: O(1)
 

Publicación traducida automáticamente

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