Problem #8 on the Project Euler problem list requires finding the greatest product of five consecutive digits in a large string of integers.
For this problem, I copied and pasted the large number into a file, and read it in using scan()
. As there were line breaks in the copied and pasted numbers, I used paste()
with the collapse argument to restore it to a single line. From there, it was a matter of taking 5-character substrings, converting them to numbers, and using prod()
to calculate the product of each group of 5 numbers.
gprod <- function() {
# Read number as string
snum <- scan(file="number.dat", what=character(0),
strip.white=TRUE, quiet=TRUE)
# Concatenate lines into a single line
snum <- paste(snum, collapse="", sep="")
mp <- 0
for (i in 1:(nchar(snum)-4)) {
s <- substr(snum, i, i+4)
m <- prod(as.numeric(strsplit(s,"")[[1]]))
if (m > mp) {
mp <- m
}
}
mp
}