Menu
Coddy logo textTech

Farklılığı Ekleme

Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 61 / 86.

challenge icon

Görev

Kolay

Önceki derste, sabit 3 ve 5 bölenlerini kullanarak 1'den belirli bir sınıra kadar FizzBuzz çalıştıran bir döngü oluşturdunuz. Şimdi, bölenleri özelleştirilebilir hale getirerek işi biraz daha ilginçleştirin!

fizzBuzz fonksiyonunuzu, özel bölenler için iki ek parametre kabul edecek şekilde değiştirin:

  • Fonksiyon imzasını şu şekilde güncelleyin: fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String
  • "Fizz" kontrolü için 3 yerine fizzAt kullanın
  • "Buzz" kontrolü için 5 yerine buzzAt kullanın
  • Varsayılan değerler, bölenler belirtilmediğinde klasik FizzBuzz'ın hala çalışmasını sağlar

Şu girdileri alacaksınız:

  1. Üst sınır (tam sayı)
  2. "Fizz" için ilk bölen (tam sayı)
  3. "Buzz" için ikinci bölen (tam sayı)

Döngünüzü, her sayı için bu özel bölenleri fonksiyona iletecek şekilde güncelleyin.

Örneğin, girdiler 10, 2 ve 3 ise çıktı şu şekilde olmalıdır:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Bu örnekte, 2'nin katları için "Fizz", 3'ün katları için "Buzz" ve her ikisinin katları (6 gibi) için "FizzBuzz" yazdırılır.

Girdiler 15, 3 ve 5 (klasik bölenler) ise çıktı orijinal FizzBuzz ile eşleşmelidir:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Kendin dene

func fizzBuzz(_ number: Int) -> String {
    if number % 3 == 0 && number % 5 == 0 {
        return "FizzBuzz"
    } else if number % 3 == 0 {
        return "Fizz"
    } else if number % 5 == 0 {
        return "Buzz"
    } else {
        return String(number)
    }
}

// Read input
let limit = Int(readLine()!)!

// Loop from 1 to limit and print the result for each number
for number in 1...limit {
    print(fizzBuzz(number))
}

Temeller bölümündeki tüm dersler