#!/usr/bin/Rscript collatz <- function(n) { if(n<2) return(1) if(n%%2==0) return(c(n, collatz(n/2))) else return(c(n, collatz(3*n+1))) } sliding_product <- function(x, width) { return(mapply(function(shiftx) {prod(window(x,shiftx,shiftx+width-1))}, 1:(length(x)-width+1))) } for(i in commandArgs(TRUE)) print(max(sliding_product(collatz(as.numeric(i)) %% 10, 5)))