Numeri primi

# Carica la libreria ggplot2 per il grafico
#install.packages("ggplot2")
library(ggplot2)

# Funzione per generare numeri primi
genera_numeri_primi <- function(limite) {
  primi <- c()
  for (num in 2:limite) {
    if (all(num %% 2:(num-1) != 0)) {
      primi <- c(primi, num)
    }
  }
  return(primi)
}

# Chiedere il limite all'utente
#limite <- as.integer(readline("Inserisci il limite per generare numeri primi: "))

limite <- 1000 

# Generare i numeri primi
primi <- genera_numeri_primi(limite)

# Creare un dataframe per il grafico
df <- data.frame(Indice = 1:length(primi), NumeroPrimo = primi)

# Imposta un dispositivo grafico
png(filename = "numeri_primi.png", width = 800, height = 600)

# Creare il grafico
ggplot(df, aes(x = Indice, y = NumeroPrimo)) +
  geom_bar(stat = "identity", fill = "skyblue", width = 0.5) +
  labs(title = paste("Numeri primi fino a", limite),
       x = "Indice",
       y = "Numero Primo") +
  theme_minimal()

# Chiudi il dispositivo grafico
dev.off()
png 
  2