Project Euler - Problem 30

Description

Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:

  • 1634 = 1^4 + 6^4 + 3^4 + 4^4
  • 8208 = 8^4 + 2^4 + 0^4 + 8^4
  • 9474 = 9^4 + 4^4 + 7^4 + 4^4
  • As 1 = 1^4 is not a sum it is not included.

The sum of these numbers is 1634 + 8208 + 9474 = 19316.  Find the sum of all the numbers that can be written as the sum of fifth powers of their digits.

Solution

let isNarcissistic num power =
    let numAsString = num.ToString()
    let arr = [for i=0 to (numAsString.Length - 1) do
                    yield (float(numAsString.Chars(i).ToString()))**power]
    if num = int(List.sum arr) then
        true
    else
        false

let GetAllNarcissistic =
    [2..999999]
    |> List.filter ( fun x -> isNarcissistic x 5.0 = true)
    |> List.sum

Popular posts from this blog

Digit cancelling fractions (Project Euler Problem 33)

Champernowne's Constant - Project Euler Problem 40

Coin Sums (Project Euler Problem 31)