J'ai de nouveau besoin de votre expertise, je me retrouve aux prises avec Haskell en raison de mon manque d'expérience. J'ai une liste (inac) et j'ai besoin de vérifier les numéros dans cette liste afin qu'il n'y en ait aucun dans un rayon de 5 chiffres, comme par exemple, j'ai le numéro 300 dans ma liste je vérifie s'il y a le numéro 295 et 305, s'il n'y a pas alors 300 va dans une autre liste (rInac)Vérification du rayon du numéro de liste
dig :: Int -> [Int]
dig 0 = []
dig n = dig (n `div` 10) ++ [n `mod` 10]
inac :: [Int]
inac = [x | x <- [1..999], x `mod` sum (dig x) == 0]
rInac :: [Int]
rInac = [x | x <- inac, rAux x]
rAux :: Int -> Bool
rAux n = n `elem` inac
en ce moment, je ne vérifier que les chiffres (n) appartiennent à la liste, mon problème est, je ne suis pas sûr de la façon de faire la chose 5 rayon ... Merci d'avance!
Je ne pense pas qu'une liste soit une bonne infrastructure de données pour cela, puisque la recherche est inefficace ici. –
@WillemVanOnsem inac et rInac doivent être une liste, maintenant la vérification je ne sais pas comment le faire ... – Wireless