FizzBuzz
FizzBuzz bir sayma oyunudur. Oyuncular 1'den başlayarak sayar, ancak bazı sayılar sözcüklerle değiştirilir: 3'e bölünebilen bir sayı Fizz diye söylenir, 5'e bölünebilen bir sayı Buzz diye söylenir ve hem 3'e hem de 5'e bölünebilen bir sayı FizzBuzz diye söylenir. Diğer tüm sayılar olduğu gibi söylenir. İlk on beş tur şöyle ilerler: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz.
Kontrollerin sırası işin püf noktasıdır. 15, 3'e bölünebildiği için önce 3'ü kontrol edip hemen "Fizz" döndürürsen hem 3'e hem de 5'e bölünebilme durumuna hiç ulaşamazsın. Önce birleşik kuralı kontrol et: hem 3'e hem de 5'e bölünebilen bir sayı, tam olarak 15'e bölünebilen bir sayıdır. Ardından 3'ü, sonra 5'i kontrol et ve ancak bundan sonra sayının kendisini döndür.
Klasik sürüm tüm diziyi yazdırır. Burada her seferinde tek bir sayı için yanıt verirsin: n verildiğinde, oyuncunun n. turda söyleyeceği şeyi döndür. Örneğin 9. turda "Fizz", 10. turda "Buzz" ve 11. turda "11" söylenir.
3 ve 5'e bölünebilen pozitif bir n tam sayısını alan ve bir dize döndüren fizzBuzz adlı bir fonksiyon yazın: "FizzBuzz"; yalnızca 3'e bölünebiliyorsa "Fizz"; yalnızca 5'e bölünebiliyorsa "Buzz"; aksi hâlde ondalık dize olarak yazılmış n (örneğin "7").
Kısıtlamalar: 1 <= n <= 10^9.
Fonksiyon
- arg1integer
- Döndürürstring
Örnekler
- Girdi
- arg1 = 15
- Çıktı
- "FizzBuzz"
- Girdi
- arg1 = 7
- Çıktı
- "7"
Gönderirken +11 gizli test
İpuçları
Tek tek açın. Her biri biraz daha fazlasını gösterir.
Kalan operatörü, bir sayının diğerini bölüp bölmediğini söyler:
n, yalnızcansayısının 3'e bölümünden kalan 0 olduğunda 3'e tam bölünür.15'i düşün. 3'e ve 5'e bölünebilir. 15'in
"FizzBuzz"alması ve"Fizz"almaması için kontrollerinden hangisi önce çalışmalı?Önce 15'e, ardından 3'e, sonra da 5'e bölünebilirliği test edin. Hiçbiri eşleşmezse sayıyı bir dizgeye dönüştürün. Dönüştürme işleminin her basamağı yazdığından emin olun; böylece 10^9 bilimsel gösterim yerine
"1000000000"olarak çıkar.
Bu problemin tam çözüm anlatımı yakında geliyor.
Benzer problemler
Aynı fikirleri kullanan problemler. İki üçünü çözmek bir kalıbı kalıcı hale getirir.
Python
def fizzBuzz(n):
# Kodu buraya yazınDurum 1
Durum 2
Girdi
arg1 = 15
Beklenen
"FizzBuzz"