Ir al contenido (saltar navegación)

Divisores del factorial

Tiempo máximo: 1,000-5,000 sMemoria máxima: 4096 KiB

El factorial de un número n es el resultado de multiplicar todos los números entre 1 y el propio n:

fact(n) = 1 · 2 · … · (n − 1) · n

Además, fact(0) = 1.

La pregunta que hoy nos hacemos no es cuál es el factorial de un número; ni siquiera cuál es el último dígito del factorial. La pregunta que nos hacemos es: si dividimos n! por un número p, ¿el resto es cero?

Por ejemplo, el factorial de 6 es 720. Si lo dividimos por 8 el resto es cero pero si lo dividimos por 42 no.

Entrada

La entrada estará compuesta de varios casos de prueba. Cada caso de prueba consiste en una línea con dos números positivos, p y n, menores que 231, siendo p un número primo*. La entrada termina con un caso de prueba donde ambos números son negativos; para este último no se generará salida alguna.

Salida

Para cada caso de prueba, el programa escribirá YES si p divide a n! y NO en caso contrario. Cada veredicto irá en una línea diferente.

Entrada de ejemplo

2 5
7 500000
7 3
-1 -1

Salida de ejemplo

YES
YES
NO
1En este problema, consideraremos el 1 como primo.