Решение задачи №1227 «Число сочетаний» с ACMP
Условие задачи
Факториал числа n – произведение всех натуральных чисел от 1 до n:
Сочетанием из n по k называют набор из k элементов, выбранных из данного множества, содержащего n различных элементов. При этом наборы, отличающиеся только порядком следования элементов, считаются одинаковыми.
Число возможных сочетаний из n по k вычисляется по следующей формуле:
По заданным целым числам n и k требуется вычислить число сочетаний.
При решении данной задачи необходимо реализовать функцию F(n), вычисляющую факториал числа.
Входные данные
Входной файл INPUT.TXT содержит целые числа n и k (0 ≤ k ≤ n ≤ 20).
Выходные данные
В выходной файл OUTPUT.TXT выведите число сочетаний из n по k.
Решение на C++
#include <iostream>
using namespace std;
long long fa(int n)
{
long long f=1;
while(n>1)
{
f*=n;
n--;
}
return f;
}
main()
{
int n,k;
cin>>n>>k;
cout<<fa(n)/fa(k)/fa(n-k);
}
Условия задач взяты с сайта acmp.ru