Tarefa:
Seu programa recebe uma fração simples positiva e adequada no formato .<numerator>/<denominator>
Para esta entrada, ele deve encontrar duas frações.
- Uma fração que é menor que a entrada.
- Uma fração que é maior que a entrada.
Ambas as frações devem ter um denominador menor que a entrada. De todas as frações possíveis, elas devem ter a menor diferença para a entrada.
Saída:
A saída do seu programa deve ser:
- Uma fração menor que a entrada, no formato
<numerator>/<denominator>
. - Seguido por um caractere de espaço (código ASCII 32).
- Seguido por uma fração que é maior que a entrada, no formato
<numerator>/<denominator>
.
Do seguinte modo:
«fraction that is < input» «fraction that is > input»
Regras:
- Todas as frações produzidas devem estar nos termos mais baixos .
- Todas as frações produzidas devem ser frações apropriadas.
- Se não houver frações apropriadas possíveis permitidas pelas regras, você deverá gerar
0
uma saída em vez de uma fração <entrada e em1
vez de uma fração> entrada. - Você pode escolher se deseja receber a fração como argumento da linha de comando (por exemplo
yourprogram.exe 2/5
) ou solicitar a entrada do usuário. - Você pode assumir que seu programa não receberá entrada inválida.
- O código mais curto (em bytes, em qualquer idioma) vence.
Quaisquer argumentos de linha de comando não padrão (argumentos que normalmente não são necessários para executar um script) contam para a contagem total de caracteres.
O que seu programa não deve fazer:
- Depende de quaisquer recursos externos.
- Depende de ter um nome de arquivo específico.
- Saída qualquer coisa que não seja a saída necessária.
- Demore excepcionalmente para executar. Se o seu programa executar mais de um minuto para frações com um numerador e denominador de 6 dígitos (por exemplo
179565/987657
) no computador de um usuário doméstico comum, é inválido. - Frações de saída com
0
o denominador. Você não pode dividir por zero. - Frações de saída com
0
o numerador. Seu programa deve produzir em0
vez de uma fração. - Reduza uma fração inserida. Se a fração dada como entrada for redutível, você deve usar a fração conforme é inserida.
- Seu programa não deve ser escrito em uma linguagem de programação para a qual não existia um compilador / intérprete publicamente disponível antes que esse desafio fosse lançado.
Exemplos:
Entrada: 2/5
Saída: 1/3 1/2
Entrada: 1/2
Saída: 0 1
Entrada: 5/9
Saída: 1/2 4/7
Entrada: 1/3
Saída: 0 1/2
Entrada: 2/4
Saída: 1/3 2/3
Entrada: 179565/987657
Saída: 170496/937775 128779/708320
1/3 1/2
.