Menu
Coddy logo textTech

数値のループ処理

CoddyのRジャーニー「基礎」セクションの一部 — レッスン 54/78。

challenge icon

チャレンジ

簡単

前のレッスンでは、単一の数値を処理する fizzbuzz 関数を作成しました。今度は、1から指定された上限までの数値の範囲を処理するためのループを追加しましょう。

コードを次のように修正してください:

  1. 入力から数値 n を読み取ります(これが上限になります)
  2. for ループを使用して、1から n まで反復処理します
  3. 範囲内の各数値について、fizzbuzz 関数を呼び出し、その結果を出力します

各結果は、print() を使用して新しい行に出力する必要があります。

例えば、入力が次の場合:

5

出力は次のようになります:

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

入力が次の場合:

15

出力は次のようになります:

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

自分で試してみよう

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

基礎のすべてのレッスン