Tarea:
Su programa recibe una fracción simple positiva y adecuada en el formato .<numerator>/<denominator>
Para esta entrada, debe encontrar dos fracciones.
- Una fracción que es menor que la entrada.
- Una fracción que es mayor que la entrada.
Ambas fracciones deben tener un denominador más bajo que la entrada. De todas las fracciones posibles, deberían tener la menor diferencia con la entrada.
Salida:
La salida de su programa debe ser:
- Una fracción que es más pequeña que la entrada, en el formato
<numerator>/<denominator>
. - Seguido de un carácter de espacio (código ASCII 32).
- Seguido de una fracción que es mayor que la entrada, en el formato
<numerator>/<denominator>
.
Como sigue:
«fraction that is < input» «fraction that is > input»
Reglas:
- Todas las fracciones producidas deben estar en los términos más bajos .
- Todas las fracciones producidas deben ser fracciones apropiadas.
- Si no hay posibles fracciones apropiadas permitidas por las reglas, debe generar
0
una entrada en lugar de una fracción <entrada, y en1
lugar de una fracción> entrada. - Puede elegir si desea recibir la fracción como un argumento de línea de comandos (por ejemplo
yourprogram.exe 2/5
) o solicitar la entrada del usuario. - Puede suponer que su programa no recibirá entradas no válidas.
- El código más corto (en bytes, en cualquier idioma) gana.
Cualquier argumento de línea de comandos no estándar (argumentos que normalmente no se requieren para ejecutar un script) cuentan para el recuento total de caracteres.
Lo que su programa no debe hacer:
- Depende de cualquier recurso externo.
- Depende de tener un nombre de archivo específico.
- Salida de cualquier cosa que no sea la salida requerida.
- Tardar excepcionalmente en correr. Si su programa dura más de un minuto para fracciones con un numerador y un denominador de 6 dígitos (por ejemplo
179565/987657
) en la computadora de un usuario doméstico promedio, no es válido. - Fracciones de salida con
0
como denominador. No puedes dividir por cero. - Fracciones de salida con
0
el numerador. Su programa debe generar en0
lugar de una fracción. - Reducir una fracción ingresada. Si la fracción dada como entrada es reducible, debe usar la fracción tal como se ingresa.
- Su programa no debe estar escrito en un lenguaje de programación para el que no existía un compilador / intérprete disponible públicamente antes de que se publicara este desafío.
Ejemplos:
Entrada: 2/5
Salida: 1/3 1/2
Entrada: 1/2
Salida: 0 1
Entrada: 5/9
Salida: 1/2 4/7
Entrada: 1/3
Salida: 0 1/2
Entrada: 2/4
Salida: 1/3 2/3
Entrada: 179565/987657
Salida: 170496/937775 128779/708320
1/3 1/2
.