CSharp · Console
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;
}
}
}