Problem 70 再び

20秒。まだ雑な部分あるけどもういいかな?
さっきのやつで答を探す部分を以下のようにした。論理判断はコスト高いんだな。

len <- length(p.lis)*length(p.lis[p.lis<sqrt(10^7)])
ephi <- numeric(len)
ans <- numeric(len)
count <- 1
for(i in p.lis){
  for(j in p.lis[p.lis < sqrt(10^7)]){
    ephi[count] <- euler.phi(i,j)
    ans[count] <- i*j
    count <- count+1
  }
}

ndp.order <- order(ans/ephi)
ephi <- ephi[ndp.order]
ans <- ans[ndp.order]
i <- 0
repeat{
  i <- i+1
  if(ans[i] >= 10^7) next
  if(toDig.sort(ephi[i])==toDig.sort(ans[i])){
    break
  }
}
ans[i]