Seu desafio é converter uma fração em sua forma de fração contínua.
Entrada : a fração pode ser inserida em qualquer formato, incluindo (mas não restrito a)
- string: "7/16"
- lista: {7, 16}, (7, 16), [7, 16]
- par ordenado simples: 7 16
- função: f [7,16]
Saída : Uma fração contínua, em 2D, com barras de fração horizontal separando o numerador do denominador. Somente frações continuadas com numeradores iguais a 1 são válidas. Não é necessário fazer o tamanho da fonte variar de acordo com a profundidade. Um zero inicial (para frações apropriadas) é opcional.
Profundidade : seu código deve ser capaz de exibir pelo menos 8 níveis de profundidade.
Critério vencedor : O código mais curto vence. Você deve incluir vários casos de teste mostrando entrada e saída.
Exemplos de teste (entrada seguida por saída)
5/4
5/3
5/7
16/9
89/150
code-golf
rational-numbers
DavidC
fonte
fonte
0 + 89 / 250
o último?0 + 1 / (1 + 1 / (1 + 1 / (2 + 1 / (3 + 1 / (1 + 1 / (1 + 1 / (2)))))))
? E sem o parêntese? Ou se apenas exibirmos os números azuis, como0 1 1 2 5 1 1 2
?Respostas:
Mathematica,
4036 caracteresExemplo:
Resultado:
fonte
Python 2,
158155147142Teste:
Python 2, alt. versão, 95
Basicamente, um porto de resposta da caixa de pão. Saída mais segura.
Teste:
fonte
40,3
como entrada.XSLT 1.0
Eu pensei que seria bom exibir as frações com HTML, então aqui está uma solução XSLT.
Para testá-lo, salve o xslt como fração.xslt e abra o seguinte arquivo no IE:
fonte
Ruby, 175 (com arte ASCII) ou 47 (sem)
Sem arte ASCII, 47
Como Ruby não pode realmente fazer gráficos como esse, eu apenas mostro os números azuis em seus exemplos.
Com arte ASCII,
181178175Uau, essa arte ASCII ocupava muito código, e eu estava sendo mal e usando
rescue 0
: P Exemplo:fonte
Caderno Sábio, 80
Aqui
n
pode haver qualquer coisa que o Sage possa aproximar por um número de ponto racional / flutuante. A precisão padrão é 53 bits, a menos quen
seja aRational
. Tem que amar MathJax.fonte
C, 119 caracteres
Aqui estão alguns exemplos de saída:
Embora a linha de fração truncada não seja tão bonita quanto alguns dos exemplos aqui, gostaria de salientar que essa era uma técnica comum para formatar frações contínuas nos dias que antecederam a onipresença dos computadores desktop.
Ok, aqui está uma versão muito mais longa (247 caracteres) que faz a formatação completa da saída:
Alguns exemplos de sua saída:
fonte
APL (78)
Exemplo:
fonte
Mathematica, 77
Acabei de aprender o Mathematica para isso. É preciso um programa surpreendentemente longo para fazer isso.
fonte
Perl
128114 charsMas, como este usa o posicionamento do console, é necessário limpar o console em ordem antes da execução:
resultado:
Primeiro post: 128 caracteres
Dividido para pasta cut'n :
Renderizará:
Mesmo usando o LaTeX:
fonte
Perl:
140,133121 caracteresexemplo:
#perl fração.pl
5
7
fonte
Folha de Navalha no Firefox, 108
127O prompt realmente dói lá ...Oh, você quer dizer que eu escolho? Ok, é uma lista. De qualquer forma, boa sorte em fazer isso funcionar.fonte
Linguagem do Game Maker (Script),
6171Compile com todas as variáveis não inicializadas como
0
.fonte
c
.Supondo que os números de entrada sejam co-primos, chame esta função de processo com numerador e denominador. Pode ir a qualquer profundidade até encontrar a forma continuada, sem limite
Escrito em JAVA (238 caracteres)
processo (89.150);
processo (973,13421);
fonte
K, 136
.
fonte