Compare commits
No commits in common. "a0fef78e65a01709bc32c81b7b7c3ed7b6529531" and "96231739b30b8110b3710ac0db96e72028b2a64a" have entirely different histories.
a0fef78e65
...
96231739b3
1
.ghci
1
.ghci
|
@ -1,2 +1,3 @@
|
||||||
putStrLn "Welcome to the Universal Calculator!"
|
putStrLn "Welcome to the Universal Calculator!"
|
||||||
:set prompt "\x03BB> "
|
:set prompt "\x03BB> "
|
||||||
|
:set +s
|
||||||
|
|
|
@ -62,5 +62,5 @@ Hello, world!
|
||||||
- `cd` into the top level of this repo.
|
- `cd` into the top level of this repo.
|
||||||
- `nix develop` and let Nix load the flake and set everything up.
|
- `nix develop` and let Nix load the flake and set everything up.
|
||||||
- `ghci` and get computing!
|
- `ghci` and get computing!
|
||||||
- To enable performance timings after every input, type `λ> :set +s` in the REPL
|
- To disable performance timings after every input, type `λ> :unset +s` in the REPL
|
||||||
- See other initial commands being run in the `.ghci` file.
|
- See other initial commands being run in the `.ghci` file.
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
|
||||||
ghc = pkgs.haskell.packages.ghc928.ghcWithHoogle (self: with self;
|
ghc = pkgs.haskell.packages.ghc924.ghcWithHoogle (self: with self;
|
||||||
[
|
[
|
||||||
relude
|
relude
|
||||||
split
|
split
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
import Data.Set (fromList)
|
|
||||||
import Debug.Trace (trace)
|
|
||||||
|
|
||||||
{-
|
|
||||||
https://projecteuler.net/problem=5
|
|
||||||
|
|
||||||
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
|
|
||||||
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
|
|
||||||
-}
|
|
||||||
|
|
||||||
wrong = map (`div` 2520) [1..10]
|
|
||||||
-- [0,0,0,0,0,0,0,0,0,0]
|
|
||||||
|
|
||||||
_2520misleadingSolution = map (2520 `div`) [1..10]
|
|
||||||
-- [2520,1260,840,630,504,420,360,315,280,252]
|
|
||||||
|
|
||||||
_2520correctSolution = map (2520 /) [1..10]
|
|
||||||
-- [2520.0,1260.0,840.0,630.0,504.0,420.0,360.0,315.0,280.0,252.0]
|
|
||||||
|
|
||||||
-- sieve method
|
|
||||||
-- zip 20 lists together
|
|
||||||
|
|
||||||
even' n = n `rem` 2 == 0
|
|
||||||
odd' = not . even'
|
|
||||||
|
|
||||||
multipleOf x n = {- trace ("x:" <> show x <> ", n:" <> show n) $ -} n `rem` x == 0
|
|
||||||
|
|
||||||
threven = multipleOf 3
|
|
||||||
fouevn = multipleOf 4
|
|
||||||
fiven = multipleOf 5
|
|
||||||
|
|
||||||
{-
|
|
||||||
filter even [1..100]
|
|
||||||
filter fouevn $ filter threven $ filter even [1..100]
|
|
||||||
|
|
||||||
-- :t foldl (\b a -> undefined) [] [1..]
|
|
||||||
foldl (\b a -> undefined) [] [1..]
|
|
||||||
-}
|
|
||||||
|
|
||||||
bruteForce =
|
|
||||||
filter (multipleOf 20) $
|
|
||||||
filter (multipleOf 19) $
|
|
||||||
filter (multipleOf 18) $
|
|
||||||
filter (multipleOf 17) $
|
|
||||||
filter (multipleOf 16) $
|
|
||||||
filter (multipleOf 15) $
|
|
||||||
filter (multipleOf 14) $
|
|
||||||
filter (multipleOf 13) $
|
|
||||||
filter (multipleOf 12) $
|
|
||||||
filter (multipleOf 11) $
|
|
||||||
filter (multipleOf 10) $
|
|
||||||
filter (multipleOf 9) $
|
|
||||||
filter (multipleOf 8) $
|
|
||||||
filter (multipleOf 7) $
|
|
||||||
filter (multipleOf 6) $
|
|
||||||
filter (multipleOf 5) $
|
|
||||||
filter (multipleOf 4) $
|
|
||||||
filter (multipleOf 3) $
|
|
||||||
filter (multipleOf 2) [232792550..]
|
|
||||||
-- answer is 232792560
|
|
||||||
|
|
||||||
test = map (filter . multipleOf) [1..10]
|
|
||||||
|
|
||||||
-- lol
|
|
||||||
solve = foldl1 lcm [1..20]
|
|
|
@ -1,28 +0,0 @@
|
||||||
{-
|
|
||||||
The sum of the squares of the first ten natural numbers is,
|
|
||||||
1^2 + 2^2 + ... + 10^2 = 385
|
|
||||||
|
|
||||||
The square of the sum of the first ten natural numbers is,
|
|
||||||
(1 + 2 + ... + 10)^2 = 55^2 = 3025
|
|
||||||
|
|
||||||
Hence the difference between the sum of the squares
|
|
||||||
of the first ten natural numbers and the square
|
|
||||||
of the sum is 3025 - 385 = 2640
|
|
||||||
|
|
||||||
Find the difference between the sum of the squares
|
|
||||||
of the first one hundred natural numbers
|
|
||||||
and the square of the sum.
|
|
||||||
-}
|
|
||||||
upperRange = 100
|
|
||||||
square n = n^2
|
|
||||||
squares = map square [1..upperRange]
|
|
||||||
sum' = go 0
|
|
||||||
where
|
|
||||||
go acc [] = acc
|
|
||||||
go acc (x:xs) = go (acc+x) xs
|
|
||||||
|
|
||||||
sumOfSquares = sum' squares
|
|
||||||
|
|
||||||
squareOfTheSum = (sum [1..upperRange])^2
|
|
||||||
|
|
||||||
solution = squareOfTheSum - sumOfSquares
|
|
Loading…
Reference in New Issue