Votre défi est de convertir une fraction en sa forme de fraction continue.
Entrée : La fraction peut être entrée dans n'importe quel format, y compris (mais sans s'y limiter)
- chaîne: "7/16"
- liste: {7, 16}, (7, 16), [7, 16]
- paire ordonnée simple: 7 16
- fonction: f [7,16]
Sortie : Une fraction continue, en 2D, avec des barres de fraction horizontale séparant le numérateur du dénominateur. Seules les fractions continues avec des numérateurs égaux à 1 sont valides. Il n'est pas nécessaire de faire varier la taille de la police en fonction de la profondeur. Un zéro non significatif (pour les fractions appropriées) est facultatif.
Profondeur : votre code doit pouvoir afficher au moins 8 niveaux de profondeur.
Critère gagnant : le code le plus court gagne. Vous devez inclure plusieurs cas de test montrant l'entrée et la sortie.
Exemples de test (entrée suivie d'une sortie)
5/4
5/3
5/7
9/16
89/150
la source
0 + 89 / 250
pour le dernier?0 + 1 / (1 + 1 / (1 + 1 / (2 + 1 / (3 + 1 / (1 + 1 / (1 + 1 / (2)))))))
? Et sans les parenthèses? Ou si nous affichons simplement les chiffres bleus, comme0 1 1 2 5 1 1 2
?Réponses:
Mathematica,
4036 caractèresExemple:
Production:
la source
Python 2,
158155147142Tester:
Python 2, alt. version, 95
Fondamentalement, un port de réponse de la boîte à pain. Sortie plus sûre.
Tester:
la source
40,3
en entrée.XSLT 1.0
Je pensais que ce serait bien d'afficher les fractions avec HTML, voici donc une solution XSLT.
Pour le tester, enregistrez le xslt en tant que fraction.xslt et ouvrez le fichier suivant dans IE:
la source
Ruby, 175 (avec art ASCII) ou 47 (sans)
Sans art ASCII, 47
Étant donné que Ruby ne peut pas vraiment faire de graphiques comme ça, je viens de sortir les nombres bleus dans vos exemples.
Avec ASCII Art,
181178175Wow, cet art ASCII a pris beaucoup de code, et j'étais même maléfique et j'utilisais
rescue 0
: P Sample:la source
Cahier Sage, 80
Voici
n
tout ce que Sage peut approximer par un nombre rationnel / à virgule flottante. La précision par défaut est de 53 bits, sauf sin
aRational
. Je dois aimer MathJax.la source
C, 119 caractères
Voici quelques exemples de sortie:
Bien que la ligne de fraction tronquée ne soit pas aussi jolie que certains des exemples ici, je tiens à souligner qu'il s'agissait d'une technique courante pour formater les fractions continues à l'époque où les ordinateurs de bureau n'étaient pas omniprésents.
D'accord, voici une version beaucoup plus longue (247 caractères) qui fait un formatage complet de la sortie:
Quelques exemples de sa sortie:
la source
APL (78)
Exemple:
la source
Mathematica, 77
Je viens d'apprendre Mathematica pour ça. Prend un programme étonnamment long pour ce faire.
la source
Perl
128114 caractèresMais comme cela utilise le placement de la console, vous devez effacer la console dans l'ordre avant de l'exécuter:
production:
Premier message: 128 caractères
Divisé pour couper et coller :
Rendra:
Même chose avec LaTeX:
la source
Perl:
140,133121 caractèresexemple:
#perl fraction.pl
5
7
la source
Razor Leaf sur Firefox, 108
127L'invite fait vraiment mal là-bas…Oh, tu veux dire que je peux choisir? D'accord, c'est une liste. Quoi qu'il en soit, bonne chance pour que cela fonctionne.la source
Langue de Game Maker (Script),
6171Compilez avec toutes les variables non initialisées au format
0
.la source
c
.En supposant que les nombres entrés sont co-premiers, appelez cette fonction de processus avec numérateur et dénominateur. Il peut aller à n'importe quelle profondeur jusqu'à ce qu'il trouve la forme continue, sans limite
Écrit en JAVA (238 caractères)
processus (89 150);
processus (973,13421);
la source
K, 136
.
la source