Задача
Вычислите факториал числа.
Входные данные
Одно целое число [latex]n[/latex] ([latex] 0 \leqslant n \leqslant 20[/latex]).
Выходные данные
Выведите значение [latex]n! = 1 · 2 · 3 · … · n.[/latex]
Тесты
Входные данные | Выходные данные |
---|---|
3 | 6 |
0 | 1 |
20 | 2432902008176640000 |
Решение №1
1 2 3 4 5 6 7 8 9 10 11 |
class Main { public static void main (String[] args) throws java.lang.Exception { java.util.Scanner i = new java.util.Scanner(System.in); int n = i.nextInt(); long factorial = 1; for(int k = 1; k <= n; k++) { factorial *= k; } System.out.print(factorial); } } |
Факториал натурального числа [latex]n[/latex] определяется как произведение всех натуральных чисел от [latex]1[/latex] до [latex]n[/latex] включительно.
Решение №2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main{ public static long factorial(int a){ if (a == 0) return 1; else return a*factorial(a - 1); } public static void main (String[] args) throws java.lang.Exception { java.util.Scanner i = new java.util.Scanner(System.in); int a; int n = i.nextInt(); System.out.print(factorial(n)); } } |
Ссылки
Условие задачи на E-Olymp
Код задачи № 1 на Ideone
Код задачи № 2 на Ideone