Défi
Contribution:
Un entier compris entre 2 et 62 (inclus).
Production:
Comptez de à l'équivalent de dans la base , en utilisant toute représentation raisonnable pour les chiffres.
Toutefois:
Si le nombre est divisible par (arrondi vers le bas, par exemple, la base 7 serait 7/2 = 3,5, 3,5 + 1 = 4,5, arrondi à 4 ), puis affichez 'Fizz' au lieu du nombre .
Si le nombre est divisible par (arrondi vers le haut, par exemple 11/3 = 3,666, 3,666 + 3 = 6,666, arrondi à 7 ), alors affichez 'Buzz'.
Comme vous pouvez probablement le deviner, si votre nombre est divisible par les deux, affichez «Fizzbuzz».
Exemples
Utilisation de [0-9] , [AZ] et [az] comme chiffres
(Je n'ai inclus que les 10 premières valeurs pour garder les exemples courts - normalement, il y avait 4990 éléments de plus dans chaque séquence)
Entrée: 10 (donc 'Fizz' = 6 et 'Buzz' = 7)
Sortie: 1, 2, 3, 4, 5, Fizz, Buzz, 8, 9, 10
Entrée: 2 (donc 'Fizz' = 2 et 'Buzz' = 4)
Sortie: 1, Fizz, 11, Fizzbuzz, 101, Fizz, 111, Fizzbuzz, 1001, Fizz
(J'ai inclus les 50 premières valeurs des éléments suivants pour mieux montrer comment ils fonctionnent)
Entrée: 55 (donc 'Fizz' = = et 'Buzz' = = )
Sortie: 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, Buzz, n, o, p, q, r, Fizz, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N
Règles
- Les failles standard sont interdites
- C'est Code Golf, donc la réponse la plus courte en octets l'emporte
- L'entrée et la sortie peuvent se faire via la console ou des arguments / retours de fonction
- Les espaces blancs en tête / arrière sont parfaits, tout comme les lignes vides
- Les espaces entre 'Fizz' et 'Buzz' sont interdits
- Toute variante de capitalisation de "Fizz" / "Buzz" / "Fizzbuzz" est très bien.
- Les sorties doivent être séparées par des retours à la ligne.
- Si vous retournez un tableau de 10 chiffres de base au lieu de les représenter avec des caractères, alors ils doivent être dans le bon ordre!
buzz
apparaît par lui-même à index553391
,fizz
at724463
etfizzbuzz
at1216820199599
. Malheureusement, aucun d'entre eux n'est divisible par le nombre de cette baseRéponses:
Gelée ,
42 38 34 33 2932 octets+3 pour adhérer à des règles de formatage strictes
Un programme complet qui imprime 5000 lignes de texte, chaque ligne contenant une série de nombres entiers (les chiffres) ou l' un des
fizz
,buzz
oufizzbuzz
(bien au - delà de la base fonctionne 62).Essayez-le en ligne!
Comment?
Notez que ... et
⌊ b ÷ 2 + 1 ⌋ = ⌊ b ÷ 2 ⌋ + 1 ⌈ b ÷ 3 + 3 ⌉ = ⌈ b ÷ 3 + 2 ⌉ + 1 = ⌈ ( b + 6 ) ÷ 3 ⌉ + 1 = ⌊ ( b + 8 ) ÷ 3 ⌋ + 1
⌈b÷3+3⌉=⌈b÷3+2⌉+1=⌈(b+6)÷3⌉+1=⌊(b+8)÷3⌋+1
mise à jour ...
la source
Fusain , 40 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
la source
R ,
163131 octetsEssayez-le en ligne!
Merci à @digEmAll pour avoir économisé 23 octets. J'ai ensuite poursuivi les efforts de @ digEmAll pour économiser 9 autres.
la source
JavaScript (ES6),
117116 octetsEssayez-le en ligne!
(limité à 100 pour que la sortie de TIO ne explose pas)
la source
|0
et quoi(5e3)
?Math.floor(n)
5e3
5000
Python 2 , 116 octets
Essayez-le en ligne!
Ou avec
0-9a-zA-Z
sortie:Python 2 , 143 octets
Essayez-le en ligne!
la source
05AB1E ,
393736 octets-2 octets en créant un portage de la réponse Jelly de @JonathanAllan .
Essayez-le en ligne ou vérifiez tous les cas de test (mais en tant que sortie de liste et avec les 100 premiers au lieu de 5000).
Explication:
Voir cette astuce de la mine de 05AB1E (section Comment utiliser le dictionnaire? ) Pour comprendre pourquoi
”FizzÒÖ”
est"Fizz Buzz"
.la source
[input, input+8]
partie et la partie filtre par la suite (ce que je fais maintenantDõQi yIв
, mais j'ai l'impression qu'il peut être joué un peu plus ..)Perl 6 , 91 octets
Essayez-le en ligne!
Bloc de code anonyme qui renvoie une liste de chaînes
Fizz/Buzz/FizzBuzz
ou une listeinverséed'entiers dans la base.la source
R , 138 octets
Essayez-le en ligne!
la source
C # (Visual C # Interactive Compiler) ,
180171 octetsSorties comme la réponse d'Arnauld. Merci à digEmAll pour l'idée d'utiliser une pile pour inverser la sortie.
Essayez-le en ligne!
la source
05AB1E , 34 octets
Utilise les connaissances mathématiques de Jonathan qui
ceil(n/3+3)
=floor((n+8)//3)+1
Essayez-le en ligne!
Explication
la source