私はプロジェクトオイラーの質問33を行っており、それを解決するためにリファクタリングを分割しましたが、 と の両方x
で同じである場合、数字を削除する方法が思いつきませんy
。私はこれまでに得ました:
import Ratio
import List
p33 = [ (x%y) | y <- [10..99] , x <- [10..y], (x `rem` 10) /= 0 , (y `rem` 10) /= 0 , x /= y , (length $ nub $ concat $ map decToList [x,y]) == 3 , [numerator(x%y),denominator(x%y)] == WHAT GOES HERE? ]
0 の取り消しは許可されていません。それがすべきことは次のとおりです。
49/98 {cancel the 9's}
取得するため:
結果として4/8。しかし、各数字から共通の数字を削除する方法が思いつきません。