给定一个表示大整数的字符串str ,任务是找到N%4的结果。
例子:
Input: N = 81
Output: 1
Input: N = 46234624362346435768440
Output: 0
方法:除以4的余数仅取决于数字的最后两位数字,因此,除了对N进行除法运算外,我们仅对N的最后两位数进行除法并找到余数。
下面是上述方法的实现:
C++
// C++ implementation of the approach
#include
using namespace std;
// Function to return s % n
int findMod4(string s, int n)
{
// To store the number formed by
// the last two digits
int k;
// If it contains a single digit
if (n == 1)
k = s[0] - '0';
// Take last 2 digits
else
k = (s[n - 2] - '0') * 10
+ s[n - 1] - '0';
return (k % 4);
}
// Driver code
int main()
{
string s = "81";
int n = s.length();
cout << findMod4(s, n);
return 0;
}
Java
// Java implementation of the approach
class GFG
{
// Function to return s % n
static int findMod4(String s, int n)
{
// To store the number formed by
// the last two digits
int k;
// If it contains a single digit
if (n == 1)
k = s.charAt(0) - '0';
// Take last 2 digits
else
k = (s.charAt(n - 2) - '0') * 10
+ s.charAt(n - 1) - '0';
return (k % 4);
}
// Driver code
public static void main(String[] args)
{
String s = "81";
int n = s.length();
System.out.println(findMod4(s, n));
}
}
// This code is contributed by Code_Mech.
Python3
# Python 3 implementation of the approach
# Function to return s % n
def findMod4(s, n):
# To store the number formed by
# the last two digits
# If it contains a single digit
if (n == 1):
k = ord(s[0]) - ord('0')
# Take last 2 digits
else:
k = ((ord(s[n - 2]) - ord('0')) * 10 +
ord(s[n - 1]) - ord('0'))
return (k % 4)
# Driver code
if __name__ == '__main__':
s = "81"
n = len(s)
print(findMod4(s, n))
# This code is contributed by
# Surendra_Gangwar
C#
// C# implementation of the approach
using System;
class GFG
{
// Function to return s % n
static int findMod4(string s, int n)
{
// To store the number formed by
// the last two digits
int k;
// If it contains a single digit
if (n == 1)
k = s[0] - '0';
// Take last 2 digits
else
k = (s[n - 2]- '0') * 10
+ s[n - 1] - '0';
return (k % 4);
}
// Driver code
public static void Main()
{
string s = "81";
int n = s.Length;
Console.WriteLine(findMod4(s, n));
}
}
// This code is contributed by Code_Mech.
PHP
Javascript
输出:
1
时间复杂度: O(1)