Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- unsigned long long gcd(unsigned long long a, unsigned long long b) {
- unsigned long long r;
- for (;b!=0;)
- {
- r = a%b;
- a = b;
- b = r;
- }
- return a;
- }
- unsigned long long c(int n,int k)
- {
- unsigned long long temp1 = 1,temp2 =1;
- unsigned long long d;
- if (k==0 || n==k)
- {
- return 1;
- } else if (k==1 || k==n-1) {
- return n;
- } else {
- if (k*2>n) {
- k=n-k;
- }
- for (int i = 1;i<=k;i++) {
- temp1 *= n-i+1;
- temp2 *= i;
- if (temp1 != 1 && temp2 != 1) {
- d = gcd(temp1, temp2);
- cout << "n" << n-i+1 << " " << i << endl;
- cout << "d" << d << endl;
- if (d > 1) {
- temp1 /= d;
- temp2 /= d;
- }
- cout << "t" << temp1 << " " << temp2 << endl;
- }
- }
- temp1 /= temp2;
- return temp1;
- }
- }
- int main()
- {
- cout << c(70, 30) << endl;
- unsigned int t, gift, man;
- cin >> t;
- while (t--) {
- cin >> gift >> man;
- cout << c(gift-1, man-1) << endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment