Project Euler Problem 4
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
結構悩んだあげくに力技で解く.普通に繰り返しを使うとものすごく計算時間がかかるので,Rらしく行列計算にしてしまい,あとは同じ要素を抜き出して並び替えという方法.最大値以外のどうでもいいものまで全部計算してしまうので,全然効率的じゃないなぁ.
x <- numeric() for (i in 1:9){ for (j in 0:9){ for (k in 0:9){ a <- 100000*i + 10000*j + 1000*k + 100*k + 10*j +i x <- c(x,a) } } } y <- numeric() for (i in 1:9){ for (j in 0:9){ for (k in 0:9){ a <- 10000*i + 1000*j + 100*k + 10*j +i y <- c(y,a) } } } x <- c(x,y) x <- rev(sort(x)) i <- matrix(100:999, ncol=1) j <- matrix(100:999, nrow=1) z <- as.vector(i %*% j) z1 <- sort(intersect(z,x)) z1[length(z1)]