Last two digits of powers of 7

23 Apr, 2021
Given a positive N, the task is to find the last two digits of 7N.Examples:  
Input: N = 5 Output: 07 Explanation: The value of 75 = 7 * 7 * 7 * 7 * 7 = 8507 Therefore, the last two digits are 07.Input: N = 12 Output: 01 Explanation: The value of 712 = 13841287201 Therefore, the last two digits are 01.  
 
Approach: A general approach to finding the last K digits of XY is to discuss this article in logarithmic time complexity. In this article, we will discuss the constant time solution.Below is the observation for the value of 7N for some values of N:  
71 = 7 last two digit = 07 72 = 49 last two digit = 49 73 = 243 last two digit = 43 74 = 2401 lasr two digit = 0175 = 16807 last two digit = 07 76 = 117649 last two digit = 49 77 = 823543 last two digit = 43 78 = 5764801 last two digit = 01  
Based on the above observations we have the following cases:  
If the last two digit in 7N = 07 when N = 4K + 3.If the last two digit in 7N = 49 when N = 4K + 2.If the last two digit in 7N = 43 when N = 4K + 1.If the last two digit in 7N = 01 when N = 4K.
If the last two digit in 7N = 07 when N = 4K + 3.
If the last two digit in 7N = 49 when N = 4K + 2.
If the last two digit in 7N = 43 when N = 4K + 1.
If the last two digit in 7N = 01 when N = 4K.
Below is the implementation of the above approach: 
C++
Java
Python3
C#
Javascript
// C++ program for the above approach #include <bits/stdc++.h>using namespace std; // Function to find the last// two digits of 7^Nstring 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 Codeint main(){    // Given Number    int N = 12;     // Function Call    cout << get_last_two_digit(N);    return 0;}
// Java program for the above approachimport java.io.*;import java.util.*; class GFG{ // Function to find the last// two digits of 7^Npublic 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 codepublic 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 program for the above approach # Function to find the last# two digits of 7 ^ Ndef 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 numberN = 12; # Function callprint( get_last_two_digit(N)) # This code is contributed by grand_master
// C# program for the above approachusing System; namespace GFG{class GFG{     // Function to find the last// two digits of 7^Npublic 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 codepublic static void Main(){         // Given number    int N = 12;     // Function Call    Console.Write(get_last_two_digit(N));}}} // This code is contributed by grand_master
<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
 
Time Complexity: O(1) Auxiliary Space: O(1) 
grand_master
GauravRajput1
maths-power
number-digits
Competitive Programming
Greedy
Mathematical
Pattern Searching
Greedy
Mathematical
Pattern Searching
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Most important type of Algorithms
The Ultimate Beginner's Guide For DSA
Find two numbers from their sum and XOR
Equal Sum and XOR of three Numbers
C++: Methods of code shortening in competitive programming
Dijkstra's shortest path algorithm | Greedy Algo-7
Program for array rotation
Prim’s Minimum Spanning Tree (MST) | Greedy Algo-5
Write a program to print all permutations of a given string
Kruskal’s Minimum Spanning Tree Algorithm | Greedy Algo-2