Problem 90
コンテンツ
http://projecteuler.net/index.php?section=problems&id=90
組み合わせを数えるときも、6と9を区別しないのかと思っていたり、同じ数字が二度以上出てくると思っていたり。
まったく、これだから英語の問題は
squ = [[(,1)],[(,4)],[(,9),(,6)],[(1,6),(1,9)],[(2,5)], [(3,6),(3,9)],[(4,9),(4,6)],[(6,4),(9,4)],[(8,1)]] sortPerm _ = [[]] sortPerm [] _ = [] sortPerm (x:xs) (n+1) = (map (x:) . sortPerm xs) n ++ sortPerm xs (n+1) display xs ys (a,b) = elem a xs && elem b ys || elem b xs && elem a ys allDisplay xs ys = all (any $display xs ys) $squ main = print.length$[(a,b)|a<-digits,b<-takeWhile(<a)digits,allDisplay a b] where digits = sortPerm [..9] 6
作成者 Toru Mano
最終更新時刻 2023-01-01 (c70d5a1)