Nombre Password [ Regístrate ]

Primolandia (OIE 6 - 2002)

 

Los habitantes de Primolandia utilizan para representar los números naturales su descomposición en factores primos. En vez de escribir los números como nosotros, escriben la lista de sus factores primos de mayor a menor, con sus respectivos exponentes. Así por ejemplo, en vez de 12 escriben "3 1 2 2" (ya que 12=31 x 22) ; en vez de 25, "5 2" y en vez de 469625 , "17 2 13 1 5 3".

Con este sistema de numeración, los niños de Primolandia aprenden enseguida a hacer ciertas operaciones, como la multiplicación o la división entera exacta; pero tardan bastante en dominar otras.

Recientemente, un director de escuela de Primolandia ha pasado unas vacaciones en Computerland. Allí descubrió unos curiosos mecanismos, que llaman "ordenadores", y que podrían facilitar las operaciones con su sistema de numeración. Pero para ello, tendrían que disponer de programas adecuados.

A modo de prueba, han decidido encargar un programa que realice la división entera exacta con su sistema de numeración.

Objetivo

Escribe un programa que realice esta operación tomando los operandos y escribiendo el resultado con el sistema de numeración utilizado en Primolandia.

Entrada

Los datos de entrada los cogerá el programa de un archivo de texto (ASCII) de nombre "PRIM.DAT". Este fichero tendrá la siguiente estructura:

- Los dos operandos para cada división que haya que realizar estarán representados en dos líneas consecutivas del archivo. Es decir, la primera y la segunda línea contendrán respectivamente el dividendo y el divisor para la primera operación; la tercera y la cuarta (si las hubiera) contendrán respectivamente el dividendo y el divisor de la segunda operación, etc. Siempre habrá al menos una operación para realizar.
- Los operandos, que serán siempre números enteros mayores o iguales que 2, se representarán como se ha indicado anteriormente. Es decir, mediante la sucesión de pares (factor primo, exponente) que corresponda a su descomposición en factores primos, ordenados por orden estrictamente decreciente de factores. Los números de esta sucesión irán separados por espacios en blanco simples.
- Todos los factores serán números primos mayores que 1 y menores que 232. Todos los exponentes serán mayores o iguales que 1 y menores que 232.

Salida

La salida del programa deberá grabarse en un archivo de texto (ASCII) de nombre "PRIM.RES". Este archivo contendrá una línea por cada operación planteada en el fichero de entrada. Cada línea contendrá el resultado de la división correspondiente (escrito en la notación de Primolandia de la misma manera que los datos de entrada) si se puede hacer la división exacta (es decir, la división entera con resto 0). Para las divisiones que no den un resultado exacto, la línea de solución correspondiente contendrá la expresión "NO DIVISIBLE" (escrita exactamente así).

Ejemplo de entrada

3 1 2 2
2 1
3 1 2 2
5 1 2 1

Ejemplo de salida

3 1 2 1
NO DIVISIBLE



© (2001-2008) ALGORITMIA.NET - Política de privacidad