Решим сложную задачу на двух языках. Читаем условие: Алгоритмически решается задача очень просто: надо перебрать все числа от 1 до n и перемножить их. И именно так и надо делать. Например на Python. Считаем входное число и приведём его к числовому типу: Затем заведём переменную, в которой будем накапливать ответ. И инициализируем её единицей. Обращу внимание, что не нулём, потому что будем домножать её, а не прибавлять к ней. И запустим цикл, в котором выполним умножения: Осталось вывести ответ: И этим решением легко сдать задачу. Также, несложно сдать эту задачу на Pascal ABC или Java. Это всё из-за того, что в этих языках программирования в базовой комплектации есть числовые типы, которые поддерживают числа неограниченной длины. Так называемая длинная арифметика. С С++ всё намного интереснее. Основные этапы решения остаются такими же, но необходимо самостоятельно реализовать работу с большими числами. В этой задаче большое число нам потребуется ровно одно. Будем его хранить в массиве