Ihre Herausforderung besteht darin, einen Bruch in seine fortgesetzte Bruchform umzuwandeln.
Eingabe : Der Bruch kann in einem beliebigen Format eingegeben werden, einschließlich (aber nicht beschränkt auf)
- Zeichenfolge: "7/16"
- Liste: {7, 16}, (7, 16), [7, 16]
- einfach geordnetes Paar: 7 16
- Funktion: f [7,16]
Ausgabe : Ein fortgesetzter Bruch in 2D mit horizontalen Bruchbalken, die den Zähler vom Nenner trennen. Es sind nur fortgesetzte Brüche mit Zählern gleich 1 gültig. Es ist nicht erforderlich, die Schriftgröße je nach Tiefe zu variieren. Eine führende Null (für richtige Brüche) ist optional.
Tiefe : Ihr Code muss mindestens 8 Tiefenstufen anzeigen können.
Gewinnkriterium : Der kürzeste Code gewinnt. Sie müssen mehrere Testfälle einschließen, die die Eingabe und Ausgabe anzeigen.
Testbeispiele (Eingabe gefolgt von Ausgabe)
5/4
5/3
5/7
9/16
89/150
quelle
0 + 89 / 250
das letzte tun ?0 + 1 / (1 + 1 / (1 + 1 / (2 + 1 / (3 + 1 / (1 + 1 / (1 + 1 / (2)))))))
? Was ist ohne die Klammer? Oder wenn wir nur die blauen Zahlen anzeigen, wie0 1 1 2 5 1 1 2
?Antworten:
Mathematica,
4036 ZeichenBeispiel:
Ausgabe:
quelle
Python 2,
158155147142Prüfung:
Python 2, alt. Version, 95
Grundsätzlich eine Portierung der Antwort von Breadbox. Sicherere Ausgabe.
Prüfung:
quelle
40,3
als Eingabe.XSLT 1.0
Ich dachte, es wäre schön, die Brüche mit HTML anzuzeigen. Hier ist eine XSLT-Lösung.
Speichern Sie zum Testen die xslt als fraktion.xslt und öffnen Sie die folgende Datei im IE:
quelle
Ruby, 175 (mit ASCII-Grafik) oder 47 (ohne)
Ohne ASCII-Kunst 47
Da Ruby solche Grafiken nicht wirklich erstellen kann, gebe ich nur die blauen Zahlen in Ihren Beispielen aus.
Mit ASCII Art,
181178175Wow, diese ASCII-Kunst hat viel Code in Anspruch genommen, und ich war sogar böse und benutzte
rescue 0
: P Beispiel:quelle
Salbei Notizbuch, 80
Hier
n
kann alles sein, was Sage durch eine rationale / Gleitkommazahl approximieren kann. Die Standardgenauigkeit beträgt 53 Bit, sofern nichtn
aRational
. Ich muss MathJax lieben.quelle
C, 119 Zeichen
Hier einige Beispiele für die Ausgabe:
Obwohl die abgeschnittene Bruchlinie nicht so hübsch aussieht wie einige der Beispiele hier, möchte ich darauf hinweisen, dass dies eine übliche Technik zum Formatieren fortgesetzter Brüche in den Tagen war, bevor Desktop-Computer allgegenwärtig waren.
Okay, hier ist eine viel längere Version (247 Zeichen), die die Ausgabe vollständig formatiert:
Einige Beispiele für seine Ausgabe:
quelle
APL (78)
Beispiel:
quelle
Mathematica, 77
Habe gerade Mathematica dafür gelernt. Dazu ist ein überraschend langes Programm erforderlich.
quelle
Perl
128114 ZeichenDa hier jedoch die Konsolenplatzierung verwendet wird, müssen Sie die Konsole vor dem Ausführen in der richtigen Reihenfolge löschen:
Ausgabe:
Erster Beitrag: 128 Zeichen
Für Cut'n Paste aufgeteilt :
Wird rendern:
Gleiches gilt für LaTeX:
quelle
Perl:
140,133,121 ZeichenBeispiel:
#perlfraktion.pl
5
7
quelle
Rasiermesserblatt auf Firefox, 108
127Die Aufforderung tut dort wirklich weh ...Oh, du meinst, ich darf wählen? Okay, es ist eine Liste. Wie auch immer, viel Glück beim Laufen.quelle
Game Maker Language (Skript),
6171Kompilieren Sie mit allen nicht initialisierten Variablen als
0
.quelle
c
.Nehmen Sie diese Prozessfunktion mit Zähler und Nenner an, indem Sie die eingegebenen Zahlen als Co-Primzahl annehmen. Es kann in jede Tiefe gehen, bis es die fortgesetzte Form findet, keine Begrenzung
Geschrieben in JAVA (238 Zeichen)
Verfahren (89, 150);
Verfahren (973, 13421);
quelle
K, 136
.
quelle