Dada una función, Y = (X^6 + X^2 + 9894845) % 971 para un valor dado. La tarea es encontrar el valor de la función.
Ejemplos:
Input: x = 5 Output: 469 Input: x = 654654 Output: 450
Explicación:
Y = (X^6 + X^2 + 9894845) % 971.
Si descomponemos la ecuación obtenemos Y = (X^6)%971 + (X^2)%971 +(9894845)%971
y podemos reduce la ecuación a Y=(X^6)%971 + (X^2)%971 + 355 .
A continuación se muestra la implementación requerida:
C++
// CPP implementation of above approach #include <bits/stdc++.h> using namespace std; // computing (a^b)%c long long int modpow(long long int base, long long int exp, long long int modulus) { base %= modulus; long long int result = 1; while (exp > 0) { if (exp & 1) result = (result * base) % modulus; base = (base * base) % modulus; exp >>= 1; } return result; } // Driver code int main(){ long long int n = 654654, mod = 971; cout<<(((modpow(n, 6, mod)+modpow(n, 2, mod))% mod + 355)% mod); return 0; } // This code is contributed by Sanjit_Prasad
Java
// Java implementation of above approach class GFG { // computing (a^b)%c static long modpow(long base, long exp, long modulus) { base %= modulus; long result = 1; while (exp > 0) { if ((exp & 1)>0) result = (result * base) % modulus; base = (base * base) % modulus; exp >>= 1; } return result; } public static void main(String[] args) { long n = 654654; long mod = 971; System.out.println(((modpow(n, 6, mod)+modpow(n, 2, mod))% mod + 355)% mod); } } // This code is contributed by mits;
Python3
# Python implementation of above approach n = 654654 mod = 971 print(((pow(n, 6, mod)+pow(n, 2, mod))% mod + 355)% mod)
C#
// C# implementation of above approach using System; class GFG { // computing (a^b)%c static long modpow(long base1, long exp, long modulus) { base1 %= modulus; long result = 1; while (exp > 0) { if ((exp & 1)>0) result = (result * base1) % modulus; base1 = (base1 * base1) % modulus; exp >>= 1; } return result; } public static void Main() { long n = 654654; long mod = 971; Console.WriteLine(((modpow(n, 6, mod)+modpow(n, 2, mod))% mod + 355)% mod); } } // This code is contributed by mits;
PHP
<?php // PHP implementation of above approach // computing (a^b)%c function modpow($base, $exp, $modulus) { $base %= $modulus; $result = 1; while ($exp > 0) { if ($exp & 1) $result = ($result * $base) % $modulus; $base = ($base * $base) % $modulus; $exp >>= 1; } return $result; } // Driver code $n = 654654; $mod = 971; echo (((modpow($n, 6, $mod) + modpow($n, 2, $mod)) % $mod + 355) % $mod); // This code is contributed by mits ?>
Javascript
<script> // JavaScript implementation of above approach // computing (a^b)%c function modpow(base, exp, modulus) { base %= modulus; let result = 1; while (exp > 0) { if ((exp & 1)>0) result = (result * base) % modulus; base = (base * base) % modulus; exp >>= 1; } return result; } // driver code let n = 654654; let mod = 971; document.write(((modpow(n, 6, mod)+ modpow(n, 2, mod))% mod + 355)% mod); </script>
Producción:
450
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)