子供がやってた算数問題(その3くらい?)
□=1~9(重複しない)
ちょ、難しいんだけど。
唯一解なのか分からない。総当りで確認する。
library(e1071)
f1 <- function(){
s <- permutations(9)
ans <- s[,1] / (10*s[,2] + s[,3]) + s[,4] / (10*s[,5] + s[,6]) + s[,7] / (10*s[,8] + s[,9])
return(s[ans==1,])
}
system.time(f1())
f1()
> system.time(f1())
ユーザ システム 経過
0.17 0.08 0.81
> f1()
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 5 3 4 7 6 8 9 1 2
[2,] 7 6 8 5 3 4 9 1 2
[3,] 7 6 8 9 1 2 5 3 4
[4,] 5 3 4 9 1 2 7 6 8
[5,] 9 1 2 5 3 4 7 6 8
[6,] 9 1 2 7 6 8 5 3 4
うむ、唯一解のようだ。