These problems are inspired in some of the problems from Project Euler. You can find them at https://projecteuler.net.
The sum of the squares of the first 10 natural numbers is . The square of the sum of the first 10 natural numbers is . Therefore, the difference between the sum of the squares of the first 10 natural numbers and the square of the sum of the first 10 natural numbers is .
Write a function diffSqrs :: Integer -> Integer that,
given a natural
,
returns the difference between the sum of the squares of the first
natural numbers and the square of the sum of the first
natural numbers.
A Pythagorean triplet are three natural numbers
such that
.
Write a function
pythagoreanTriplets :: Int -> [(Int, Int, Int)] that,
given a natural
,
returns the list of all Pythagorean tripletes that add up to
.
Each triplet must be sorted in such a way that
and the list must be sorted according to
.
Write a function tartaglia :: [[Integer]] that
returns an infinite list with the rowss of the Tartaglia’s triangle
(also known as Pascal’s triangle).
Write a function sumDigits :: Integer -> Integer
that returns the sum of all digits of a natural number. Use high order
functions rather than recursion.
Write a function
digitalRoot :: Integer -> Integer that returns the
digital root of a natural number. Use high order functions rather than
recursion.
Each function scores 20 points.
Input
diffSqrs 10 map pythagoreanTriplets [3,12,84] take 5 tartaglia sumDigits 32768 digitalRoot 65536
Output
2640 [[],[(3,4,5)],[(12,35,37),(21,28,35)]] [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 26 7