Problem 5
2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり、そのような数字の中では最小の値である。
では、1 から 20 までの整数全てで割り切れる数字の中で最小の値はいくらになるか。
Problem 5 - PukiWiki
数学的素養が大変残念な感じなので最小公倍数のとこだけWikipediaを見るなどした…
メモ:gcd = 最大公約数, lcm = 最小公倍数
R
gcd <- function(a,b) { if(b > a) { temp <- a a <- b b <- temp } if(b == 0) { return(a) } c <- a%%b if(c == 0) { return(b) } else { return(gcd(b,c)) } } lcm <- function(a,b) { return(a*b%/%gcd(a,b)) } x <- 1 for(i in 1:20) { x <- lcm(x,i) } print(x)
gcdとかlcmとかなさそうだったので自分で実装するなどした。実装したのはいいんだけど完全に手続き型で酷い。<-を=に置き換えて、あとfor文のあたり直せばほぼJavaScriptとかで動きそうな気が…