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:

  1. static void Main(string[] args)
  2. {
  3. BigInteger multi = 1;
  4. long result = 0;
  5. int digits = 100;
  6. for (int i = digits; i >= 1; i--)
  7. {
  8. multi *= i;
  9. }
  10. foreach (var item in multi.ToString().ToCharArray())
  11. {
  12. result += long.Parse(item.ToString());
  13. }
  14. Console.WriteLine(result);
  15. Console.ReadLine();
  16. }

Note: You can simplifies the coding :)

No comments:

Post a Comment