Comment detail

正整数のゲーデル数化? (Nested Flatten)
nobreak 便利。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
doukaku100: fun(n){
  primes: fiber(){
    yield 2;
    for(n: 3;; n += 2)
      for(d, m : 3, math::sqrt(n); d < m; d += 2)
        if(n % d == 0) break; nobreak yield n;
  }
  r: 1;
  n.to_s.split("").zip(primes){|d, p| r *= math::pow(p, d.to_i); }
  return r;
}

Index

Feed

Other

Link

Pathtraq

loading...