Prime Number Generator, Print and Plot & save to csv file
# Load the ggplot2 package for plotting
library(ggplot2)
# Function to check if a number is prime
is_prime <- function(n) {
if (n <= 1) {
return(FALSE)
}
for (i in 2:sqrt(n)) {
if (n %% i == 0) {
return(FALSE)
}
}
return(TRUE)
}
# Function to generate prime numbers up to a given limit
generate_primes <- function(limit) {
primes <- c()
for (i in 2:limit) {
if (is_prime(i)) {
primes <- c(primes, i)
}
}
return(primes)
}
# Function to print and save prime numbers to a CSV file
print_and_save_primes <- function(limit, filename) {
primes <- generate_primes(limit)
# Print prime numbers
cat("Prime Numbers up to", limit, ":", primes, "\n")
# Save prime numbers to a CSV file
prime_data <- data.frame(Prime_Numbers = primes)
write.csv(prime_data, file = filename, row.names = FALSE)
}
# Function to plot prime numbers
plot_primes <- function(limit) {
primes <- generate_primes(limit)
# Plot prime numbers
ggplot(data.frame(x = seq_along(primes), Prime_Number = primes), aes(x, Prime_Number)) +
geom_point(shape = 21, color = "Black", fill = "Red", size = 2) +
ggtitle("Prime Numbers") +
xlab("Index") +
ylab("Prime Number") +
theme()
}
# Generate prime numbers up to P, save to "prime_numbers.csv", and plot
P <- 250 # Value of P was 1000000 & 10000000 for csv files uploaded to Kaggle
print_and_save_primes(P, "prime_numbers.csv")
## Prime Numbers up to 250 : 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241
plot_primes(P)
