Project Euler3

Problem3

The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?

素因数分解してそのうち最大のものを求めよ、という問題。
2から10000までの範囲で約数を探して最初に出現したもので割った商の約数をまた2から10000までの間で探して、という方法をとったけどたまたまうまくいっただけな感がある。

num <- 600851475143
repeat{
if(num > 1){
  res <- NULL
  for(n in 2:10000){
    res0 <- ifelse( num %% n == 0, n, NA)
    res <- c( res, res0 )
    }
  res <- res[!is.na(res)][1]
  num <- num %/% res
  }else{
  break
  }
}
res