Project Euler #6: Sum square difference

  • + 0 comments

    Haskell

    import Control.Applicative
    import Control.Monad
    import System.IO
    
    
    sqSumTo :: Int -> Int
    sqSumTo n = ((n * (n+1)) `div` 2 ) ^ 2
    
    sumSqTo :: Int -> Int
    sumSqTo n = sum [x * x | x <- [1..n]]
    
    main :: IO ()
    main = do
        t_temp <- getLine
        let t = read t_temp :: Int
        forM_ [1..t] $ \a0  -> do
            n_temp <- getLine
            let n = read n_temp :: Int
            print (sqSumTo n - sumSqTo n)