7 的最后两位幂

原文:https://www . geesforgeks . org/最后两位数的 7 次方/

给定一个正数 N ,任务是找到7NT5 的最后两位数字。 举例:****

输入: N = 5 输出: 07 说明: 75的值= 7 * 7 * 7 * 7 * 7 = 8507 所以,最后两位是 07。 输入: N = 12 输出: 01 解释: 7 的值 12 = 13841287201 因此,最后两位是 01。

方法:寻找 X Y 最后一个 K 数字的一般方法是以对数时间复杂度讨论这篇文章。在这篇文章中,我们将讨论常数时间解。 以下是对 7 N 值的观察,部分 N 值:

7 1 = 7 最后两位= 07 7 2 = 49 最后两位= 49 7 3 = 243 最后两位= 43 7 4 = 2401 lasr 两位= 01 7 5 = 16807 最后两位= 07 76= 116

基于以上观察,我们有以下情况:

  1. 如果最后两位数字在 7 N = 07 时 N = 4K + 3。
  2. 如果最后两位数字在 7 N = 49 时 N = 4K + 2。
  3. 如果最后两位数字在 7 N = 43 时 N = 4K + 1。
  4. 如果最后两位数字在 7 N = 01 时 N = 4K。

以下是上述方法的实现:

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

Python 3

# 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

java 描述语言

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

Output: 

01

时间复杂度:O(1) T5】辅助空间: O(1)