重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Rで以下のコードをforループ、whileループそれぞれで記述する場合、どういったコードになりますか。R初心者です。ご教示願います。

サイコロが3つある。
3つの目の合計が15になるまでサイコロ投げを繰り返す。
どのような目が出て、その合計はいくつか。
そして、何回目のサイコロ投げかを表示する。

A 回答 (1件)

この手のプログラムはチャットAIに訊ねるのが簡単です。


疑問に思ったことは続けて質問できるので、理解が深まると思います。

なお、
Copilotに質問文そのまま食わしたら以下のソースが出ました。
参考にしてください。

forループを用いたコード

set.seed(123) # 再現性のためにシードを設定します
target_sum <- 15
num_dice <- 3
max_rolls <- 100 # 無限ループを避けるための安全対策

for (i in 1:max_rolls) {
dice_rolls <- sample(1:6, num_dice, replace = TRUE)
roll_sum <- sum(dice_rolls)
cat("Roll", i, ": Dice =", dice_rolls, "Sum =", roll_sum, "\n")
if (roll_sum == target_sum) {
cat("The sum of dice is", target_sum, "at roll number", i, "\n")
break
}
}


whileループを用いたコード

set.seed(123) # 再現性のためにシードを設定します
target_sum <- 15
num_dice <- 3
roll_count <- 0

while (TRUE) {
roll_count <- roll_count + 1
dice_rolls <- sample(1:6, num_dice, replace = TRUE)
roll_sum <- sum(dice_rolls)
cat("Roll", roll_count, ": Dice =", dice_rolls, "Sum =", roll_sum, "\n")
if (roll_sum == target_sum) {
cat("The sum of dice is", target_sum, "at roll number", roll_count, "\n")
break
}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A