Jump to content

Successive prime differences: Difference between revisions

m
→‎Dynamic computed input: simplify with some list comprehensions
m (→‎Dynamic computed input: simplify with some list comprehensions)
Line 825:
findPrimes primes diffs = loopDiffs diffs <> findPrimes (tail primes) diffs
where
loopDiffs []ds = [](show d, successive)
loopDiffs ( | d :<- ds),
let successive = take (length d + 1) primes,
| subs successive == d = (show d, successive) : loopDiffs ds
| otherwise = loopDiffs ds subs successive == d]
subs = map (uncurry (-)) . init . tail . (\xs -> zip (xs <> [0]) (0 : xs))
where
successive = take (length d + 1) primes
subs = map (uncurry (-)) . init . tail . (\xs -> zip (xs <> [0]) (0 : xs))
 
showGroup :: Result -> String -> IO ()
Line 843 ⟶ 841:
++ "\n"
where
groups = foldr[b | (\(a, b) c <-> ifresult, a == diffs then b : c else c) [] result
firstGroup = show . head
lastGroup = show . last
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.