За счет чего может получиться ноль в конце? за счет умножения на число с нулем на конце (20, 30, 40) и за счет умноженияна произведение числа с 5 на конце и числа оканчивающегося на 2,4,6,8, (25*26, 35*36, 45*44 например) больше нулей быть не может. Итого имеем 6 нулей в конце числа
первоначально я рассуждал также, но очень хотелось проверить программно
и предчувствия не обманули — нулей 9. есть еще 2 нуля в середине числа. очевидно что их объяснение не столь тривиально, по тому даже не буду пытаться. приведу результат, а далее код программы
using System;using System.Numerics; namespace mult{ public static class Program { public static void Main(string[] args) { var m = new BigInteger(1); for (int i = 18; i <= 45; i++) m *= i; Console.WriteLine(m+"\n"); var z = 0; var s = m.ToString(); foreach (var c in s) if (c == '0') z++; Console.WriteLine(z + "\n"); } }}
в бесплатной онлайн среде можно этот код исполнить и поэкспериментировать с ним, не устанавливая себе Visual Studio. не забываем что данный код на языке C#
извините. очередной ляп в учебных вопросах. действительно вопрос о нулях в конце числа, а не об их количестве. тогда ответ первого эксперта исчерпывающий