Haskell — Càlculs (2)

Aquests problemes es troben inspirats en alguns dels problemes de Project Euler que podeu trobar a https://projecteuler.net.

  1. La suma dels quadrats dels primers 10 naturals és 12+22++102=3851^2+2^2+\dots+10^2=385. El quadrat de la suma dels primers 10 naturals és (1+2++10)2=552=3025(1+2+\dots+10)^2=55^2=3025. Per tant, la diferència entre la suma dels quadrats dels primers 10 naturals i el quadrat de la suma dels primers 10 naturals és 3025385=26403025 - 385 = 2640.

    Feu una funció diffSqrs :: Integer -> Integer que, donat un natural nn, retorni la suma dels quadrats dels primers nn naturals i el quadrat de la suma dels primers nn naturals.

  2. Una tripleta pitagòrica són tres naturals (a,b,c)(a,b,c) tals que a2+b2=c2a^2+b^2=c^2. Feu una funció pythagoreanTriplets :: Int -> [(Int, Int, Int)] que, donat un natural n1n\ge1, retorni la llista de totes les tripletes pitagòriques que sumin nn. Cada tripleta ha d’estar ordenada de forma que abca\le b\le c i la llista ha de estar ordenada respecte la aa.

  3. Feu una funció tartaglia :: [[Integer]] que retorni una llista infinita amb les files de del triangle de Tartaglia (també anomenat triangle de Pascal).

  4. Feu una funció sumDigits :: Integer -> Integer que retorni la suma dels dígits d’un natural. Utilitzeu funcions d’ordre superior enlloc de recursivitat.

  5. Feu una funció digitalRoot :: Integer -> Integer que retorni l’arrel digital d’un natural. Utilitzeu funcions d’ordre superior enlloc de recursivitat.

Puntuació

Cada funció puntua 20 punts.

Informació del problema

Autoria: Jordi Petit

Generació: 2026-02-03T17:00:30.374Z

© Jutge.org, 2006–2026.
https://jutge.org