Problem 123

Problem 120と同種の問題.n番目の素数をp_nとし,(p_n - 1)^n + (p_n + 1)^nをp_n^2で割った余りが10^10より大きくなる最初のnを求める.
27ms.素数の探索範囲は適当.

## Prime number list
limit <- 1e6
sieve <- logical(limit)
sievelimit <- sqrt(limit)
sieve[1] <- TRUE                        # prime => FALSE
sieve[seq(4, limit, by=2)] <- TRUE
for(i in seq(3, sievelimit, by=2)) if(!sieve[i]) sieve[seq(i*2, limit, by=i)] <- TRUE
prime.list <- (1:limit)[!sieve]

## get minimum n
min.n <- function(maxr){
  for(n in seq(1, length(prime.list), by=2)){
    if(2*prime.list[n]*n > maxr) return(n)
  }
  return("not found")
}
min.n(1e10)