Menu
CoddyTech

Menambahkan Sentuhan Unik

Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 55 dari 78.

challenge icon

Tantangan

Mudah

Pada pelajaran sebelumnya, kamu membuat program FizzBuzz yang melakukan perulangan pada angka menggunakan pembagi default 3 dan 5. Sekarang, tambahkan tantangan dengan membuat pembagi dapat disesuaikan melalui parameter default.

Ubah fungsi fizzbuzz-mu agar menerima tiga argumen:

  • n - angka yang akan diperiksa (wajib)
  • fizz_divisor - pembagi untuk "Fizz" (opsional, default-nya 3)
  • buzz_divisor - pembagi untuk "Buzz" (opsional, default-nya 5)

Fungsi tersebut harus menggunakan pembagi khusus ini, bukan nilai yang ditulis langsung, saat memeriksa keterbagian.

Kamu akan menerima tiga baris input:

  1. Batas atas n
  2. Pembagi fizz
  3. Pembagi buzz

Lakukan perulangan dari 1 hingga n dan panggil fungsi fizzbuzz yang sudah diperbarui dengan ketiga argumen. Cetak setiap hasil.

Misalnya, jika inputnya adalah:

10
2
3

Output-nya harus:

[1] "1"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"
[1] "5"
[1] "FizzBuzz"
[1] "7"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"

Jika inputnya adalah:

15
3
5

Output-nya harus:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"
[1] "Fizz"
[1] "7"
[1] "8"
[1] "Fizz"
[1] "Buzz"
[1] "11"
[1] "Fizz"
[1] "13"
[1] "14"
[1] "FizzBuzz"

Coba sendiri

# Read input
con <- file("stdin", "r")
n <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# Function from previous lesson
check_divisible <- function(number, divisor) {
  return(number %% divisor == 0)
}

# Create the fizzbuzz function
fizzbuzz <- function(n) {
  if (check_divisible(n, 3) && check_divisible(n, 5)) {
    return("FizzBuzz")
  } else if (check_divisible(n, 3)) {
    return("Fizz")
  } else if (check_divisible(n, 5)) {
    return("Buzz")
  } else {
    return(as.character(n))
  }
}

# Loop through numbers from 1 to n and print the result
for (i in 1:n) {
  print(fizzbuzz(i))
}

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler R online