Dada una string str que representa un entero grande, la tarea es encontrar el resultado de N % 4 .
Ejemplos:
Entrada: N = 81
Salida: 1
Entrada: N = 46234624362346435768440
Salida: 0
Enfoque: el resto de la división por 4 depende solo de los últimos 2 dígitos de un número, por lo que en lugar de dividir N, dividimos solo los dos últimos dígitos de N y encontramos el resto.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> 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
<?php // PHP implementation of the approach // Function to return s % n function findMod4($s, $n) { // To store the number formed by // the last two digits $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 { $s = "81"; $n = strlen($s); echo(findMod4($s, $n)); } // This code is contributed by Code_Mech.
Javascript
<script> // Javascript implementation of the approach // Function to return s % n function findMod4(s, n) { // To store the number formed by // the last two digits var k=0; // 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 var s = "81"; var n = s.length; document.write(findMod4(s, n)); // This code is contributed by nood2000. </script>
Producción:
1
Complejidad de tiempo: O(1)
Publicación traducida automáticamente
Artículo escrito por Abdullah Aslam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA