How to sum the factorials of the digits of a number in C#

1 Answer

0 votes
using System;

public class Program
{
	private static int factorial(int n) {
		return (n == 1 || n == 0) ? 1 : n * factorial(n - 1);
	}

	private static int sumFactorialDigits(int num) {
		int sum = 0;

		while (num != 0) {
			sum += factorial(num % 10);
			num /= 10;
		}

		return sum;
	}

	public static void Main(string[] args)
	{
		int number = 345;

		Console.Write("sum factorial digits = " + sumFactorialDigits(number));
	}
}





/*
run:
  
sum factorial digits = 150
  
*/

 



answered Jan 2, 2024 by avibootz
...