Разбор
Факториалом числа называется произведение чисел от до :
Следует запомнить, что факториал нуля равен единице:
Например:
Заметим, что например
Факториал числа можно вычислить либо при помощи цикла, либо при помощи рекурсии. Во втором случае следует воспользоваться рекуррентной формулой:
Реализация алгоритма
Читаем входное значение .
scanf("%lld",&n);
Вычисляем факториал числа .
res = 1; for(i = 1; i <= n; i++) res = res * i;
Выводим ответ.
printf("%lld\n",res);
Реализация алгоритма — рекурсия
Функция fact вычисляет факториал числа .
long long fact(long long n) { if (n == 0) return 1; return fact(n-1) * n; }
Основная часть программы. Читаем входное значение .
scanf("%lld",&n);
Вычисляем и выводим ответ.
res = fact(n); printf("%lld\n",res);
Java реализация — рекурсия
import java.util.*; public class Main { static long fact(int n) { if (n == 0) return 1; return fact(n - 1) * n; } public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); long res = fact(n); System.out.println(res); con.close(); } }
Python реализация — цикл
Читаем входное значение .
n = int(input())
Вычисляем факториал числа .
res = 1 for i in range(1,n+1): res *= i
Выводим ответ.
print(res)
Python реализация — рекурсия
Функция fact вычисляет факториал числа .
def fact(n): if n == 0: return 1 return n * fact(n-1)
Основная часть программы. Читаем входное значение .
n = int(input())
Вычисляем и выводим ответ.
print(fact(n))