裏 RjpWiki

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

排他的 n 乗数(その2)

2016年06月15日 | ブログラミング

table は高くつくので以下のようにすれば十数倍速くなる。だが,まだまだ時間が掛かりすぎる。

func = function(s) {
    options(scipen=100)
    s = as.integer(unlist(strsplit(s, ",")))
    m = s[1]-1
    n = s[2]
    for (i in m:1) {
        a = as.integer(strsplit(as.character(i), "")[[1]])
        y = integer(10)
        y[a+1] = 1
        if (sum(y) == length(a)) {
            b = strsplit(as.character(i^n), "")[[1]]
            if (!any(b %in% a)) return(i)
        }
    }
    return("-")
}

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

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

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