Menu
CoddyTech

Menambahkan Variasi

Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 61 dari 86.

challenge icon

Tantangan

Mudah

Di pelajaran sebelumnya, kamu membuat perulangan yang menjalankan FizzBuzz dari 1 hingga batas tertentu menggunakan pembagi tetap 3 dan 5. Sekarang, tambahkan perubahan dengan membuat pembaginya dapat disesuaikan!

Ubah fungsi fizzBuzz agar menerima dua parameter tambahan untuk pembagi khusus:

  • Perbarui signature fungsi menjadi: fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String
  • Gunakan fizzAt sebagai pengganti 3 untuk pemeriksaan "Fizz"
  • Gunakan buzzAt sebagai pengganti 5 untuk pemeriksaan "Buzz"
  • Nilai default memastikan FizzBuzz klasik tetap berfungsi saat pembagi tidak ditentukan

Kamu akan menerima input berikut:

  1. Batas atas (bilangan bulat)
  2. Pembagi pertama untuk "Fizz" (bilangan bulat)
  3. Pembagi kedua untuk "Buzz" (bilangan bulat)

Perbarui perulanganmu agar meneruskan pembagi khusus ini ke fungsi untuk setiap angka.

Contohnya, jika inputnya adalah 10, 2, dan 3, outputnya akan seperti berikut:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Dalam contoh ini, "Fizz" dicetak untuk kelipatan 2, "Buzz" untuk kelipatan 3, dan "FizzBuzz" untuk kelipatan keduanya (seperti 6).

Jika inputnya adalah 15, 3, dan 5 (pembagi klasik), outputnya akan sama dengan FizzBuzz asli:

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

Coba sendiri

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))
}

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Swift