Ваша задача состоит в том, чтобы преобразовать дробь в форму непрерывной дроби.
Входные данные : дробь может быть введена в любом формате, включая (но не ограничиваясь)
- строка: "7/16"
- список: {7, 16}, (7, 16), [7, 16]
- простая упорядоченная пара: 7 16
- функция: F [7,16]
Вывод : непрерывная дробь в 2D с горизонтальными столбцами дроби, отделяющими числитель от знаменателя. Допустимы только непрерывные дроби с числителями, равными 1. Нет необходимости изменять размер шрифта в зависимости от глубины. Ведущий ноль (для правильных дробей) не является обязательным.
Глубина : ваш код должен отображать как минимум 8 уровней глубины.
Критерий выигрыша: выигрывает самый короткий код. Вы должны включить несколько тестовых примеров, показывающих ввод и вывод.
Тестовые примеры (ввод с последующим выводом)
5/4
5/3
5/7
9/16
89/150
code-golf
rational-numbers
DavidC
источник
источник
0 + 89 / 250
для последнего?0 + 1 / (1 + 1 / (1 + 1 / (2 + 1 / (3 + 1 / (1 + 1 / (1 + 1 / (2)))))))
? Как насчет без скобок? Или, если мы просто отображаем синие цифры, как0 1 1 2 5 1 1 2
?Ответы:
Mathematica,
4036 символовПример:
Вывод:
источник
Python 2,
158155147142Тестовое задание:
Python 2, альт. версия, 95
В основном порт ответа хлебницы. Более безопасный выход.
Тестовое задание:
источник
40,3
как ввод.XSLT 1.0
Я подумал, что было бы неплохо отобразить дроби с помощью HTML, так что вот решение XSLT.
Чтобы проверить это, сохраните xslt в дробной части. Xslt и откройте следующий файл в IE:
источник
Рубин, 175 (с ASCII art) или 47 (без)
Без ASCII art, 47
Поскольку Ruby не умеет делать такую графику, я просто выведу синие цифры в ваших примерах.
С ASCII Art,
181178175Ничего себе, это искусство ASCII занимало много кода, и я даже был злым и использовал
rescue 0
: P Sample:источник
Sage Notebook, 80
Здесь
n
может быть все, что Sage может аппроксимировать рациональным числом / числом с плавающей точкой Точность по умолчанию составляет 53 бита, если неn
являетсяRational
. Должен любить MathJax.источник
C 119 знаков
Вот несколько примеров вывода:
Хотя усеченная дробная линия не так хороша, как некоторые из приведенных здесь примеров, я хочу отметить, что это была распространенная техника форматирования непрерывных дробей в те времена, когда настольные компьютеры были повсеместными.
Хорошо, вот гораздо более длинная версия (247 символов), которая выполняет полное форматирование вывода:
Некоторые примеры его вывода:
источник
APL (78)
Пример:
источник
Математика, 77
Только что выучил Mathematica для этого. Требуется удивительно длинная программа для этого.
источник
Perl
128114 символовНо так как это использует размещение консоли, вы должны очистить консоль по порядку перед запуском:
вывод:
Первый пост: 128 символов
Сплитт для нарезки :
Окажет:
То же, используя LaTeX:
источник
Perl:
140,133121 символпример:
#perl фракция.пл
5
7
источник
Лезвие бритвы на Firefox, 108
127Подсказка действительно болит там ...О, ты имеешь в виду, что я могу выбрать? Хорошо, это список. В любом случае, удачи в этом.источник
Game Maker Language (Script),
6171Компилировать со всеми неинициализированными переменными как
0
.источник
c
.Предполагая, что входные числа взаимно просты, вызовите эту функцию процесса с числителем и знаменателем. Он может идти на любую глубину, пока не найдет непрерывную форму, без ограничений
Написано на языке Java (238 знаков)
Процесс (89150);
Процесс (973,13421);
источник
К, 136
,
источник