FizzBuzz
FizzBuzz to gra liczbowa. Gracze liczą od 1 wzwyż, ale niektóre liczby zastępuje się słowami: liczbę podzielną przez 3 mówi się jako Fizz, liczbę podzielną przez 5 jako Buzz, a liczbę podzielną zarówno przez 3, jak i przez 5 jako FizzBuzz. Każdą inną liczbę mówi się bez zmian. Pierwszych piętnaście tur to: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz.
Cały trik polega na kolejności sprawdzania warunków. 15 jest podzielne przez 3, więc jeśli najpierw sprawdzisz podzielność przez 3 i od razu zwrócisz "Fizz", nigdy nie dojdziesz do przypadku, w którym liczba jest podzielna przez obie liczby. Najpierw sprawdź łączną regułę: liczba podzielna zarówno przez 3, jak i przez 5 jest dokładnie liczbą podzielną przez 15. Następnie sprawdź podzielność przez 3, potem przez 5 i dopiero wtedy zwróć samą liczbę.
W klasycznej wersji wypisuje się całą sekwencję. Tutaj odpowiadasz dla jednej liczby naraz: dla danego n zwróć to, co gracz mówi w turze n. Na przykład w turze 9 mówi się "Fizz", w turze 10 "Buzz", a w turze 11 "11".
Napisz funkcję o nazwie fizzBuzz, która przyjmuje dodatnią liczbę całkowitą n i zwraca ciąg znaków: "FizzBuzz", jeśli n jest podzielne zarówno przez 3, jak i przez 5, "Fizz", jeśli jest podzielne tylko przez 3, "Buzz", jeśli jest podzielne tylko przez 5, a w przeciwnym razie n zapisane jako ciąg dziesiętny (na przykład "7").
Ograniczenia: 1 <= n <= 10^9.
Funkcja
- arg1integer
- Zwracastring
Przykłady
- Wejście
- arg1 = 15
- Wyjście
- "FizzBuzz"
- Wejście
- arg1 = 7
- Wyjście
- "7"
+11 ukrytych testów przy wysłaniu
Podpowiedzi
Otwieraj je po kolei. Każda zdradza trochę więcej.
Operator reszty informuje, czy jedna liczba dzieli się przez drugą:
njest podzielne przez 3 dokładnie wtedy, gdy reszta z dzielenianprzez 3 wynosi 0.Pomyśl o 15. Jest podzielne przez 3 i przez 5. Który z warunków należy sprawdzić jako pierwszy, aby dla 15 otrzymać
"FizzBuzz", a nie"Fizz"?Najpierw sprawdź podzielność przez 15, potem przez 3, a następnie przez 5. Jeśli żaden warunek nie pasuje, zamień liczbę na ciąg znaków. Upewnij się, że konwersja zapisuje każdą cyfrę, tak aby 10^9 dało
"1000000000", a nie zapis w notacji naukowej.
Pełne omówienie tego zadania pojawi się wkrótce.
Podobne zadania
Zadania oparte na tych samych pomysłach. Rozwiązanie dwóch lub trzech utrwala schemat.
Python
def fizzBuzz(n):
# Napisz kod tutajPrzypadek 1
Przypadek 2
Wejście
arg1 = 15
Oczekiwane
"FizzBuzz"