library(ggplot2)
collatz_conjecture <- function(n) {
sequence <- c(n)
while (n != 1) {
if (n %% 2 == 0) {
n <- n / 2
} else {
n <- 3 * n + 1
}
sequence <- c(sequence, n)
}
return(sequence)
}
plot_collatz <- function(n) {
sequence <- collatz_conjecture(n)
df <- data.frame(
Step = seq_along(sequence),
Value = sequence
)
p <- ggplot(df, aes(x = Step, y = Value)) +
geom_line(color = "darkcyan") +
geom_point(color = "darkcyan", size = 1) +
labs(title = "Collatz conjecture", x = "Step", y = "Value") +
theme_minimal() +
theme(panel.grid.major = element_line(color = "gray90"),
panel.grid.minor = element_line(color = "gray95"))
print(p)
}
plot_collatz(27)
