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
基于以上观察,我们有以下情况:
- 如果最后两位数字在 7 N = 07 时 N = 4K + 3。
- 如果最后两位数字在 7 N = 49 时 N = 4K + 2。
- 如果最后两位数字在 7 N = 43 时 N = 4K + 1。
- 如果最后两位数字在 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)
版权属于:月萌API www.moonapi.com,转载请注明出处