Задача
Лесные жители решили провести хоккейный турнир между $N$ командами. Сколькими способами могут быть распределены комплекты золотых, серебряных и бронзовых медалей, если одно призовое место может занять только одна команда?
Входные данные
В единственной строке расположено единственное натуральное число $N$, не превышающее 100.
Выходные данные
Единственное число — искомое количество способов.
Тесты
№ | Ввод | Вывод |
---|---|---|
1 | 1 | 1 |
2 | 2 | 2 |
3 | 3 | 6 |
4 | 5 | 60 |
5 | 56 | 166320 |
6 | 100 | 970200 |
Код
1 2 3 4 5 6 7 8 9 10 |
#include <iostream> using namespace std; int main() { int N; cin >> N; if (N < 3) cout << N; else cout << (N*(N - 1)*(N - 2)); return 0; } |
Решение
Чтобы рассчитать количество способов воспользуемся формулой размещения из комбинаторики $A_N^k = \frac{N!}{(N−k)!}$, где $k = 3$, так как существует всего 3 призовых места и следовательно комплекты медалей можно распределить $N$$(N — 1)$$(N — 2)$ способами, при $N >= 3$. При $N < 3$ существует всего $N$ способов распределения, так как команд меньше чем призовых мест.