Описание
Я думаю, что все знают сказку о Рапунцель и принце. Для тех, кто этого не делает: читайте здесь. Тем не менее, Рапунцель только что подстригла волосы, так что это может быть недостаточно долго, чтобы позволить принцу взобраться наверх! Она может очень расстроиться ..
Вызов
Ваша задача - написать функцию, которая оценивает то, что Рапунцель скажет, когда принц призовет ее опустить волосы: когда ее волосы длиннее или равны башне высокой, плюс дополнительный метр (правила безопасности), она становится очень хорошо, и говорит Aaaah!
, с числом a
s, равным length of her hair - height of the tower
. В противном случае ее волосы не имеют достаточной длины, и она начинает плакать: Booho!
где o
s перед h
равными двумя третями height of the tower - length of her hair
, а o
s после h - остальные. Число o
s после B
должно быть округлено, так что если вы получите 2.6
, будет 3 o
с, а остальные должны быть после h
.
I / O
Вам даны положительные целые числа (включая ноль) в качестве аргументов, в виде списка или в виде двух отдельных чисел, в том порядке, в каком вы считаете это наиболее удобным, но вы должны указать, в каком порядке вы их берете. В качестве вывода выведите то, что будет говорить Рапунцель.
Контрольные примеры
В тестовых случаях первым числом будет длина волос.
0, 0 -> 'Bh!' (probably a dry sob..)
2, 1 -> 'Aah!'
1, 2 -> 'Boh!'
1, 4 -> 'Booho!'
4, 1 -> 'Aaaah!'
2, 4 -> 'Boho!'
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах!
0
? Кстати, положительные целые числа (включая ноль ) == _негативные целые числа :)0
слишком длинные . Тем не менее, она должна выйти из окна, и здесь действуют ограничения по безопасности! Она никак не сможет выйти за него замуж, если у нее сломана шея.Ответы:
Желе ,
43 41 40 38 34 33 3231 байтТам, вероятно, многоЕсть ли более короткий путь, хотя!? ... это было довольно немного игры в гольф!Полная программа печати результата *.
Попробуйте онлайн!
Как?
* Как монадическая ссылка, она возвращает список символов и списки символов, например
['B', [['o', 'o', 'h'], ['o']], '!']
, как полная программа, неявная печать разбивает это, напримерBooho!
источник
AL€œs3
и нашел div с нулевыми ошибками, а затем после того, как обратился к нему с гораздо более длинным кодом, найденным выше, мне все еще нужно было в особом случае равной длины. Я думал, что попробую и сегодня реализовать другой способ, но похоже, что вы уже сделали.Python 3 , 87 байт
Попробуйте онлайн!
Аргументы функции принимаются в порядке
length of hair
,height of tower
.источник
05AB1E ,
383532 байтаВходной заказ:
length of hair
,height of tower
Попробуйте онлайн!
объяснение
источник
3
что показано на TIO.Javascript,
10597 байтСпасибо Оки за помощь в экономии 7 байт!
Определяет анонимную функцию карри. Используйте как
f(length)(height)
Попробуйте онлайн!
источник
f(1)(4)
. Заменаp(o+d)
наp(-o-d)
может исправить это. Также вы можете использоватьo=-d*2/3+.5|0
для сохранения 7 байтов.p=(t,s='o')=>s.repeat(t)
PHP> = 7,1, 111 байт
PHP Sandbox Online
источник
Желе , 32 байта
Попробуйте онлайн!
-1 спасибо Джонатану Аллану .
Работает только как полная программа.
Аргументы в порядке: волосы, башня
источник
ær0
на+.
Юлия, 101 байт
Аргументы функции принимаются в порядке
length of Hair
,height of Tower
.источник
Желе ,
8476 байтЭто действительно довольно долго, но я потратил слишком много времени на это, чтобы не публиковать его. Принимает два целочисленных аргумента:
Любые советы по гольфу это будет оценено.
Попробуйте онлайн!
источник
R, 117 байт
Немного долго, почти уверен, что это можно проиграть. Принимает ввод из STDIN в порядке
Tower, Hair
.источник
1 4
Python 2 , 77 байт
Неименованная функция, принимающая длину волос
h
, высоту башниt
и возвращающую строку.Попробуйте онлайн!
Создает строку , начинающуюся с
BA
последующей двумя третями разницы закругленной строкиoa
повторяется, а затем с помощью одногоh
, того количества остаточного отao
повторного и , наконецh!!
. Возвращаемое значение , то каждый второй символ , начиная с либоB
илиA
через срез обозначения[h>t::2]
.источник
Perl, 107 байт
Сначала берет длину волос, а длину башни вторую.
источник