Menu
CoddyTech

Lặp qua các số

Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 54 trên 78.

challenge icon

Thử thách

Dễ

Trong bài học trước, bạn đã tạo hàm fizzbuzz để xử lý một số. Bây giờ, hãy thêm vòng lặp để xử lý một dãy số từ 1 đến một giới hạn cho trước.

Sửa code của bạn để:

  1. Đọc một số n từ đầu vào (đây sẽ là giới hạn trên)
  2. Dùng vòng lặp for để lặp từ 1 đến n
  3. Với mỗi số trong dãy, gọi hàm fizzbuzz và in ra kết quả

Mỗi kết quả cần được in trên một dòng mới bằng cách dùng print().

Ví dụ, nếu đầu vào là:

5

Đầu ra sẽ là:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"

Nếu đầu vào là:

15

Đầu ra sẽ là:

[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"

Tự làm thử

# Read input
con <- file("stdin", "r")
number <- 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))
  }
}

# Call the fizzbuzz function and print the result
print(fizzbuzz(number))

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch R online