FactorialTrailinZero

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;

namespace FactorialTrailingZeroes
{
    public class FactorialTrailinZero
    {
        public static void Main()
        {
            int numberInput = int.Parse(Console.ReadLine());
            calcFactorial(numberInput);

            BigInteger factorNum = calcFactorial(numberInput);
            BigInteger zero = countZero(factorNum);

            Console.WriteLine(zero);
        }

        private static BigInteger calcFactorial(int number)
        {
            BigInteger factorial = 1;
            for (int i = number; i >= 1; i--)
            {
                factorial = factorial * i;
            }
            return factorial;
        }

        private static BigInteger countZero(BigInteger factorial)
        {
            string numStr = Convert.ToString(factorial);

            int count = 0;

            for (int i = numStr.Length - 1; i >= 0; i--)
            {
                if(numStr[i].Equals('0'))
                {
                    count++;
                }
                else
                {
                    break;
                }
            }
            return count;
        }
    }
}
;