Dados tres enteros N, X e Y, la tarea es comprobar que si N! es divisible por X Y
Ejemplos:
Entrada: N = 10, X = 2, Y = 8
Salida: SÍ
Explicación:
El factorial de 10 es – 3628800
y el valor de X Y = 2 8 = 256
Dado que 3628800 es divisible por 256, la respuesta es SÍ.
Entrada: N = 5, X = 2, Y = 4
Salida: NO
Explicación:
El Factorial de 5 es – 120
y el valor de X Y = 2 4 = 16
Ya que, 3628800 no es divisible por 16, por lo tanto la respuesta es NO.
Enfoque: La idea es encontrar el valor de N-factorial y X Y por separado y luego verificar si el valor de N-factorial es divisible X Y .
Algoritmo:
- Calcular el valor de N factorial
- Encuentre el valor de X Y .
- Comprueba que si el factorial de N es divisible por X Y .
Nota : este enfoque no funciona para valores grandes de N.
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP implementation to check if // the value of the N! % X^Y == 0 #include<bits/stdc++.h> using namespace std; // Function to check if N! % X^Y == 0 void check(int n,int x, int y){ int fact = 1; // Loop to calculate N-factorial for (int i = 2; i <= n; i++) { fact *= i; } int divisor = pow(x, y); // Condition to check if (fact % divisor == 0) cout << "YES"; else cout << "NO"; } // Driver Code int main() { int n = 10; int x = 2; int y = 8; // Function Call check(n, x, y); } // This code is contributed by Surendra_Gangwar
Java
// Java implementation to check if // the value of the N! % X^Y == 0 import java.util.*; import java.lang.*; class divisible { // Function to check if N! % X^Y == 0 public static void check(int n, int x, int y){ long fact = 1; // Loop to calculate N-factorial for (int i = 2; i <= n; i++) { fact *= i; } long divisor = (long)Math.pow(x, y); // Condition to check if (fact % divisor == 0) System.out.println("YES"); else System.out.println("NO"); } // Driver Code public static void main(String args[]) { int n = 10; int x = 2; int y = 8; // Function Call check(n, x, y); } }
Python3
# Python3 implementation to check if # the value of the N! % X^Y == 0 # Function to check if N! % X^Y == 0 def check(n, x, y) : fact = 1; # Loop to calculate N-factorial for i in range(2, n + 1) : fact *= i; divisor = x ** y; # Condition to check if (fact % divisor == 0) : print("YES"); else : print("NO"); # Driver Code if __name__ == "__main__" : n = 10; x = 2; y = 8; # Function Call check(n, x, y); # This code is contributed by Yash_R
C#
// C# implementation to check if // the value of the N! % X^Y == 0 using System; class divisible { // Function to check if N! % X^Y == 0 public static void check(int n, int x, int y){ long fact = 1; // Loop to calculate N-factorial for (int i = 2; i <= n; i++) { fact *= i; } long divisor = (long)Math.Pow(x, y); // Condition to check if (fact % divisor == 0) Console.WriteLine("YES"); else Console.WriteLine("NO"); } // Driver Code public static void Main(String []args) { int n = 10; int x = 2; int y = 8; // Function Call check(n, x, y); } } // This code is contributed by 29AjayKumar
Javascript
<script> // JavaScript implementation to check if // the value of the N! % X^Y == 0 function check(n,x,y) { var fact = 1; // Loop to calculate N-factorial for (var i = 2; i <= n; i++) { fact *= i; } var divisor = Math.pow(x, y); // Condition to check if (fact % divisor === 0) document.write("YES"); else document.write("NO"); } var n = 10; var x = 2; var y = 8; // Function Call check(n, x, y); </script>
PHP
<?php // php implementation to check if // the value of the N! % X^Y == 0 function check($n,$x,$y) { $fact = 1; // Loop to calculate N-factorial for ($i = 2; $i <= $n; $i++) { $fact *= $i; } $divisor = pow($x, $y); // Condition to check if ($fact % $divisor === 0) echo("YES"); else echo("NO"); } $n = 10; $x = 2; $y = 8; // Function Call check($n, $x, $y); // This code is contributed by _saurabh_jaiswal ?>
Producción:
YES
Análisis de rendimiento:
- Complejidad de tiempo: O(N)
- Espacio Auxiliar: O(1).
Publicación traducida automáticamente
Artículo escrito por ARNABMUKHERJEE6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA