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:
- Si los dos últimos dígitos en 7 N = 07 cuando N = 4K + 3.
- Si los dos últimos dígitos en 7 N = 49 cuando N = 4K + 2.
- Si los dos últimos dígitos en 7 N = 43 cuando N = 4K + 1.
- 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>
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