Biorąc pod uwagę fragment wyjściowego szumu fizz z usuniętymi wszystkimi liczbami, wpisz poprawne liczby o możliwie najniższych wartościach, tak aby fragment szumu fizz był poprawny. Dla celów niniejszego wyzwanie, fizz
i buzz
mają swoje typowe wartości 3 i 5, odpowiednio.
Jeżeli sygnał wejściowy jest nieprawidłowy przebieg fizz
, buzz
i pustych linii, to zamiast tego mogłoby wyprowadzać tylko zzubzzif
(z lub bez nowej linii).
Dane wejściowe i wyjściowe mogą być wierszami oddzielonymi znakiem nowej linii lub dowolnym formatem tablic ciągów dogodnym dla twojego języka.
Wielkie litery możesz ignorować lub robić, co chcesz.
Trzeba będzie wybrać do obsługi jednego lub więcej z nich: fizzbuzz
, fizz buzz
, buzz fizz
, etc, ale musisz wybrać co najmniej jeden z tych formatów.
Można założyć, że wszystkie wejścia jest jakiś ciąg fizz
, buzz
a puste linie.
Przykłady
Wkład:syczećWydajność:
2
fizz
4
Wkład:
brzęczenie syczećWydajność:
buzz
fizz
7
Wkład:
fizzbuzzWydajność:
13
14
fizzbuzz
16
17
Wkład:
Wydajność:
1
Wkład:
syczeć syczećWydajność:
zzubzzif
Wkład:
Wydajność:
zzubzzif
Odpowiedzi:
Java, 205 bajtów
Bierze
String[]
dane wejściowe i zwraca wartość aString
.Rozszerzony, uruchamialny kod:
źródło
C #, 212 bajtów
Zrobiłem nie do pomyślenia. Użyłem
goto
instrukcji, żeby wyjść z pętli!Wykorzystuje to fakt, że sekwencja musi rozpoczynać się w pierwszych 15 elementach.
Wcięcia i nowe wiersze dla czytelności:
źródło
break
słowa kluczowego?goto
przeskakuje z wewnętrznej pętli i na resztę logiki zewnętrznej pętli.goto
C #! Nawet nie wiedziałem, że C # to miał!CJam, 72 bajty
Program zakończy działanie z błędem, jeśli będzie musiał wydrukować zzubzzif .
Używając interpretera Java, STDERR można zamknąć, aby ukryć ewentualny komunikat o błędzie. Jeśli spróbujesz programu w interpretatorze CJam , zignoruj wszystkie dane wyjściowe po pierwszym wierszu.
Jak to działa
źródło
Perl, 140 bajtów
Wyjaśnienie
@a
to tablica linii wejściowychwhile
pętli@s
ma wygenerowaną sekwencję szumu fizycznego@x
jest taki sam, jak@s
z liczbami zastąpionymi pustymi łańcuchami i nową linią dołączoną do każdego elementu (do dopasowania@a
)$c
jest licznikiem od 1 do 15@x
się taka sama jak wejście@a
@s
lub zzufzzib w zależności od tego, czy$c
było w jego granicach, czy nieźródło
Python, 176 bajtów
Mógłby chyba dużo lepiej, ale pierwsza próba golfa. Docenione wskazówki :)
Skurczył się
Oryginalny
źródło
#Java, 205 Bytes
jako pierwszy wiersz odpowiedzi.'fizz'*(n%3<1)+'buzz'*(n%5<1)
Następnie możesz usunąć przypisania f i b.(f+b)[::-1]
może wtedy być połączeniem ze znanym „fizzbuzz” npg(15)[::-1]
.g(0)
również działa, aby zapisać kolejny bajt :)..] for
można je zapisać..]for
. Stosując tę sztuczkę, otrzymujesz 177 znaków['','fizz','']
Istnieje również kilka innych do usunięcia, jeśli porównasz listę wejściową zif a==[g(i + x) for x in r(l)]