is_prime <- function(n) {
if (n < 2) {
return(FALSE)
}
for (i in 2:(sqrt(n))) {
if (n %% i == 0) {
return(FALSE)
}
}
return(TRUE)
}
roll_until_prime_sum <- function() {
sum_dice <- 0
count_rolls <- 0
while (!is_prime(sum_dice)) {
dice_roll <- sample(1:6, 1, replace = TRUE)
sum_dice <- sum_dice + dice_roll
count_rolls <- count_rolls + 1
}
return(count_rolls)
}
num_simulations <- 100000
rolls_list <- replicate(num_simulations, roll_until_prime_sum())
expected_value <- mean(rolls_list)
cat("X várható értéke: ", expected_value, "\n")