Viết chương trình tổ hợp chập k của n theo ct dưới đây:
Giới hạn đầu vào
1<= k <= n <= 25
Giới hạn thời gian: 1000MS
Giới hạn bộ nhớ: 256 MB
Đây là code của em
#include<bits/stdc++.h>
using namespace std;
unsigned long long gt(int n)
{
unsigned long long tich = 1;
for(int i = 1; i<=n; i++)
{
tich *= i;
}
return tich;
}
unsigned long long tohop(int n, int k)
{
return gt(n) / (gt(k)*gt(n-k));
}
int main()
{
int n, k;
cin >> n >> k;
if (k>n)
{
cout << "Nhap lai: ";
} else
{
cout << tohop(n, k);
}
return 0;
}
Em làm như trên nhưng vẫn bị TLE.
Mong mn có code nào giúp tối ưu hóa thì giúp em với ạ