以下の内容はhttps://rion778.hatenablog.com/entry/20100418/1271557116より取得しました。


Problem 122

さっぱり解ける気がしないので色々調べている過程でKnuthのpower tree methodというものの存在を知った.それでどうにか理解したものの残念なことにこの問題を単純なpower treeで解くことはできない.
結局Evaluation of Powers | COME ON CODE ONにあるアルゴリズムを使ったのだが,δ_nを計算するときに使っているリストがどのようにして求められているのか,なぜこのリストが必要なのかを理解できていない.とりあえず30msで答えは出たけど今ひとつという感じは否めない.

library(gmp)
limit <- 200
I <- numeric(limit)
lambda <- numeric(limit)
v <- numeric(limit)
lambda[1] <- 0
v[1] <- 1
for(i in 1:limit){
  lambda[2*i] <- lambda[2*i+1] <- lambda[i]+1
  v[2*i] <- v[i]
  v[2*i+1] <- v[i]+1
}
I <- lambda + v -1
lambda[1:200]
floor(log(1:200, 2))
t <- c(23, 43, 59, 77, 83, 107, 149, 163, 165, 179)
for(i in 2:limit){
  if(isprime(i)){
    l <- Inf
  }else{
    p <- as.numeric(min(factorize(i)))
    l <- I[p] + I[i/p]
  }
  if(is.element(i, t)){
    delta <- 1
  }else{
    delta <- 0
  }
  I[i] <- min(I[i-1]+1, l) - delta
}
sum(I[1:200])



以上の内容はhttps://rion778.hatenablog.com/entry/20100418/1271557116より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14