Thursday, May 22, 2014

Project Euler Solution using C#: Problem 20: Factorial Digit Sum

Problem:

n! means n × (n − 1) × ... × 3 × 2 × 1 For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800, and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27. Find the sum of the digits in the number 100! My Solution:

static void Main(string[] args)
{
    BigInteger multi = 1;
    long result = 0;
    int digits = 100;
    for (int i = digits; i >= 1; i--)
    {
        multi *= i;
    }
    foreach (var item in multi.ToString().ToCharArray())
    {
        result += long.Parse(item.ToString());
    }
    Console.WriteLine(result);
    Console.ReadLine();
}

Note: You can simplifies the coding :)

No comments:

Post a Comment