# Haskell - Computations (2) P68540

Statement html

These problems are inspired in some of the problems from Project Euler. You can find them at https://projecteuler.net.

1. The sum of the squares of the first 10 natural numbers is 12+22+…+102=385. The square of the sum of the first 10 natural numbers is (1+2+…+10)2=552=3025. 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 3025 − 385 = 2640.

Write a function diffSqrs :: Integer -> Integer that, given a natural n, returns the difference between the sum of the squares of the first n natural numbers and the square of the sum of the first n natural numbers.

2. A Pythagorean triplet are three natural numbers (a,b,c) such that a2+b2=c2. Write a function pythagoreanTriplets :: Int -> [(Int, Int, Int)] that, given a natural n≥1, returns the list of all Pythagorean tripletes that add up to n. Each triplet must be sorted in such a way that abc and the list must be sorted according to a.
3. Write a function tartaglia :: [[Integer]] that returns an infinite list with the rowss of the Tartaglia’s triangle (also known as Pascal’s triangle).
4. Write a function sumDigits :: Integer -> Integer that returns the sum of all digits of a natural number. Use high order functions rather than recursion.
5. Write a function digitalRoot :: Integer -> Integer that returns the digital root of a natural number. Use high order functions rather than recursion.

Scoring

Each function scores 20 points.

Public test cases
• 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,2,1],[1,3,3,1],[1,4,6,4,1]]
26
7
```
• Information
Author
Jordi Petit
Language
English
Translator
Jordi Petit
Original language
Catalan
Other languages
Catalan
Official solutions