Problem
The 5-digit number, 16807=75, is also a fifth power. Similarly, the 9-digit number, 134217728=89, is a ninth power.
How many n-digit positive integers exist which are also an nth power?
Solution
let naturalNumbers = Seq.unfold (fun state -> Some(state, state+1)) 1 // define function to find the number of n digit numbers which are also nth power let f n = naturalNumbers |> Seq.map (fun n' -> pown (bigint(n')) n) |> Seq.skipWhile (fun n' -> n'.ToString().Length < n) |> Seq.takeWhile (fun n' -> n'.ToString().Length = n) |> Seq.length let answer = naturalNumbers |> Seq.map f |> Seq.takeWhile (fun l -> l > 0) |> Seq.sum