La description
Je suppose que tout le monde connaît le conte de fées de Raiponce et du prince. Pour ceux qui ne le font pas: lisez-le ici. Cependant, Raiponce venait de se faire couper les cheveux, donc cela pourrait ne pas être assez long pour laisser son prince grimper! Elle peut devenir très triste ..
Défi
Votre tâche consiste à écrire une fonction qui évalue ce que Raiponce dira lorsque le prince lui demandera de laisser tomber ses cheveux: lorsque ses cheveux sont plus longs ou égaux à la tour est grand plus un mètre supplémentaire (consignes de sécurité), elle devient veeeery heureux et dit Aaaah!
, avec le nombre de a
s étant le même que length of her hair - height of the tower
. Sinon, ses cheveux n'ont pas une longueur suffisante et elle se met à pleurer: Booho!
où le o
s avant les h
deux tiers égaux height of the tower - length of her hair
et le o
s après le h étant le reste. Le nombre de o
s après le B
doit être arrondi, donc si vous obtenez 2.6
, il y aura 3 o
s, et les autres doivent être après le h
.
E / S
On vous donne des entiers positifs (y compris null) comme arguments, comme une liste ou comme deux nombres simples, dans l'ordre que vous trouvez le plus pratique, mais vous devez indiquer dans quel ordre vous les prenez. En sortie, imprimez ce que Raiponce dira.
Cas de test
Dans les cas de test, le premier nombre sera la longueur des cheveux.
0, 0 -> 'Bh!' (probably a dry sob..)
2, 1 -> 'Aah!'
1, 2 -> 'Boh!'
1, 4 -> 'Booho!'
4, 1 -> 'Aaaah!'
2, 4 -> 'Boho!'
C'est le code-golf , donc la réponse la plus courte en octets l'emporte!
0
? BTW, entiers positifs (y compris null) == _ entiers non négatifs :)0
aussi. Pourtant, elle doit sortir par la fenêtre, et les restrictions de sécurité s'appliquent ici aussi! Il n'y a aucun moyen qu'elle puisse l'épouser si elle a un cou cassé.Réponses:
Gelée ,
43 41 40 38 34 33 3231 octetsIl y a probablement beaucoupEst - il un moyen plus court si!? ... c'était pas mal de golf!Un programme complet imprimant le résultat *.
Essayez-le en ligne!
Comment?
* En tant que lien monadique, il renvoie une liste de caractères et des listes de caractères, par exemple
['B', [['o', 'o', 'h'], ['o']], '!']
, en tant que programme complet, l'impression implicite écrase cela, par exemple.Booho!
la source
AL€œs3
et trouvé des erreurs div par zéro, puis après avoir résolu le problème avec le code beaucoup plus long ci-dessus, j'avais encore besoin de cas particulier le cas de longueur égale. Je pensais que j'essaierais de mettre en œuvre une méthode différente aujourd'hui, mais il semble que vous l'ayez déjà fait.Python 3 , 87 octets
Essayez-le en ligne!
Les arguments de la fonction sont prises dans l'ordre
length of hair
,height of tower
.la source
05AB1E ,
383532 octetsOrdre d' entrée:
length of hair
,height of tower
Essayez-le en ligne!
Explication
la source
3
qui est montré sur TIO.Javascript,
10597 octetsMerci à Oki d'avoir aidé à économiser 7 octets!
Définit une fonction de curry anonyme. Utilisez comme
f(length)(height)
Essayez-le en ligne!
la source
f(1)(4)
. Le remplacementp(o+d)
parp(-o-d)
pourrait résoudre ce problème. Vous pouvez également utilisero=-d*2/3+.5|0
pour enregistrer 7 octets.p=(t,s='o')=>s.repeat(t)
PHP> = 7.1, 111 octets
PHP Sandbox Online
la source
Gelée , 32 octets
Essayez-le en ligne!
-1 merci à Jonathan Allan .
Fonctionne uniquement comme programme complet.
Les arguments sont en ordre: cheveux, tour
la source
ær0
par+.
Julia, 101 octets
Les arguments de la fonction sont prises dans l'ordre
length of Hair
,height of Tower
.la source
Gelée ,
8476 octetsC'est vraiment assez long, mais j'ai passé trop de temps sur ça pour ne pas le poster. Prend deux arguments entiers:
Tous les conseils sur le golf seraient appréciés.
Essayez-le en ligne!
la source
R, 117 octets
Un peu long, je suis sûr que cela peut être joué au golf. Prend l'entrée de STDIN dans l'ordre
Tower, Hair
.la source
1 4
Python 2 , 77 octets
Une fonction sans nom prenant la longueur des cheveux
h
et la hauteur de la tourt
, et renvoyant une chaîne.Essayez-le en ligne!
Construit une chaîne commençant par
BA
, suivie des deux tiers de la différence arrondie de la chaîneoa
répétée, suivie d'un simpleh
, puis du reste de laao
répétition, et enfinh!!
. La valeur de retour est alors tous les deux caractères commençant parB
ouA
via la notation de tranche[h>t::2]
.la source
Perl, 107 octets
Prend la longueur des cheveux en premier, la longueur de la tour en second.
la source