parent
8cfca9295e
commit
a07b6fba16
|
@ -0,0 +1,28 @@
|
|||
import Data.List
|
||||
|
||||
main = do
|
||||
let bottom = 130254
|
||||
let top = 678275
|
||||
print (day4a bottom top)
|
||||
print (day4b bottom top)
|
||||
|
||||
day4a bottom top = dumbbrute bottom top p 0
|
||||
day4b bottom top = dumbbrute bottom top p' 0
|
||||
|
||||
dumbbrute x y p acc
|
||||
| x'<=y = dumbbrute x' y p (if p (numexpl x) then acc+1 else acc)
|
||||
| otherwise = acc
|
||||
where x' = succ x
|
||||
|
||||
p x
|
||||
| sort x /= x = False
|
||||
| nub x == x = False
|
||||
| otherwise = True
|
||||
|
||||
p' x
|
||||
| sort x /= x = False
|
||||
| 2 `elem` (map length $ group x) = True
|
||||
| otherwise = False
|
||||
|
||||
numexpl 0 = []
|
||||
numexpl x = numexpl (x `div` 10) ++ [x `mod` 10]
|
Loading…
Reference in New Issue
Block a user