The series, 1^1 + 2^2 + 3^3 + ... + 10^10 = 10405071317.

Find the last ten digits of the series, 1^1 + 2^2 + 3^3 + ... + 1000^1000.


In [32]:
let selfPower (n:int) = pown (bigint(n)) n

let subTotal = 
    [1..1000]
    |> List.map selfPower
    |> List.sum
    |> string
    
let subTotalArray = subTotal.ToCharArray()

subTotalArray.[(subTotalArray.Length - 10) .. (subTotalArray.Length - 1)]
|> Array.map string
|> String.concat ""


Out[32]:
"9110846700"