R

RでProject Euler 11〜15

R

Problem 11 文字列のベクトルを作っておいて、各文字列をsplitしたかったんですが、うまくいかず。しかたなくファイルにしてそれを読み込みました。それだと簡単に行列になるんですよね。そうすれば、あとは始点と方向を列挙するだけ。これはデータフレーム…

RでProject Euler Problem 1再考

R

Problem 1ではfilterを使いたいですよね。Rでfilterにあたるものはないようです。その代わりにwhichを使います。whichは条件を満たす要素の添え字のベクトルを作ります。 N <- 10 v <- 1:(N-1) print(which(v %% 3 == 0 | v %%5 == 0)) [1] 3 5 6 9そしてそ…

RでProject Euler 6〜10

R

Problem 6 N <- 100 v <- 1:N s1 <- sum(v) s2 <- sum(v * v) print(s1 * s1 - s2) v * vとすると各項の自乗のベクトルになります。 Problem 7 make_primes <- function(N) { a <- rep(TRUE, N) # TRUEに初期化 最終的にTRUEなら素数 for(p in 2:N) { if(p *…

RでProject Euler 1〜5

R

Rを勉強しなくてはならなくなったので練習のためにProject Eulerの問題を解いてみます。 Problem 1 ふつうに手続き型で書くこともできます。 N <- 1000 s <- 0 for(n in 1:N-1) { if(n %% 3 == 0 || n %% 5 == 0) { s <- s + n } } print(s) 1:3で(1, 2, 3)…