裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

整数の約数の個数

2014年11月25日 | ブログラミング

library(gmp)
func = function(n) {
  a = factorize(n) # 素因数分解
  u = unique(a) # ユニークな素因数
  b = numeric(length(u)) # 同じ素因数の個数
  for (i in 1:length(a)) {
    suf = which(as.character(a[i]) == u)
    b[suf] = b[suf]+1
  }
  return(prod(b+1)) # 「各素因数の個数+1」の積
}

func(20)
func(472)
func(1073741824)
func("3572947927495273") # 大きな数は文字列で

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村