Su desafío es convertir una fracción en su forma de fracción continua.
Entrada : la fracción se puede ingresar en cualquier formato, incluido (pero no limitado a)
- cadena: "7/16"
- lista: {7, 16}, (7, 16), [7, 16]
- par ordenado simple: 7 16
- función: f [7,16]
Salida : una fracción continua, en 2D, con barras de fracción horizontales que separan el numerador del denominador. Solo las fracciones continuas con numeradores iguales a 1 son válidas. No es necesario hacer que el tamaño de la fuente varíe según la profundidad. Un cero a la izquierda (para fracciones apropiadas) es opcional.
Profundidad : su código debe poder mostrar al menos 8 niveles de profundidad.
Criterio ganador : el código más corto gana. Debe incluir varios casos de prueba que muestren entrada y salida.
Ejemplos de prueba (entrada seguida de salida)
5/4
5/3
5/7
16/9
89/150
fuente
0 + 89 / 250
lo último?0 + 1 / (1 + 1 / (1 + 1 / (2 + 1 / (3 + 1 / (1 + 1 / (1 + 1 / (2)))))))
? ¿Qué pasa sin el paréntesis? ¿O si solo mostramos los números azules, como0 1 1 2 5 1 1 2
?Respuestas:
Mathematica,
4036 caracteresEjemplo:
Salida:
fuente
Python 2,
158155147142Prueba:
Python 2, alt. versión, 95
Básicamente un puerto de respuesta de breadbox. Salida más segura.
Prueba:
fuente
40,3
como entrada.XSLT 1.0
Pensé que sería bueno mostrar las fracciones con HTML, así que aquí hay una solución XSLT.
Para probarlo, guarde el xslt como fracción.xslt y abra el siguiente archivo en IE:
fuente
Ruby, 175 (con arte ASCII) o 47 (sin)
Sin arte ASCII, 47
Como Ruby realmente no puede hacer gráficos como ese, acabo de mostrar los números azules en sus ejemplos.
Con ASCII Art,
181178175Wow, ese arte ASCII tomó mucho código, e incluso estaba siendo malvado y estaba usando
rescue 0
: P Sample:fuente
Cuaderno Sabio, 80
Aquí
n
puede haber cualquier cosa que Sage pueda aproximar mediante un número de punto racional / flotante. La precisión predeterminada es de 53 bits, a menos quen
sea aRational
. Tengo que amar a MathJax.fuente
C, 119 caracteres
Aquí hay algunos ejemplos de resultados:
Si bien la línea de fracción truncada no es tan bonita como algunos de los ejemplos aquí, deseo señalar que esta era una técnica común para formatear fracciones continuas en los días anteriores a que las computadoras de escritorio fueran ubicuas.
De acuerdo, aquí hay una versión mucho más larga (247 caracteres) que formatea completamente la salida:
Algunos ejemplos de su salida:
fuente
APL (78)
Ejemplo:
fuente
Mathematica, 77
Acabo de aprender Mathematica para esto. Toma un programa sorprendentemente largo para hacer esto.
fuente
Perl
128114 caracteresPero como esto usa la ubicación de la consola, debe borrar la consola en orden antes de ejecutarla:
salida:
Primera publicación: 128 caracteres
Dividido para cortar y pegar :
Renderizará:
Lo mismo con LaTeX:
fuente
Perl:
140,133121 caracteresejemplo:
#perl fraccion.pl
5
7
fuente
Hoja de afeitar en Firefox, 108
127El aviso realmente duele allí ...¿Quieres decir que tengo que elegir? De acuerdo, es una lista. De todos modos, buena suerte para que esto funcione.fuente
Game Maker Language (Script),
6171Compile con todas las variables no inicializadas como
0
.fuente
c
.Suponiendo que los números de entrada son primos, llame a esta función de proceso con numerador y denominador. Puede ir a cualquier profundidad hasta encontrar la forma continua, sin límite.
Escrito en JAVA (238 caracteres)
proceso (89,150);
proceso (973,13421);
fuente
K, 136
.
fuente