Guest User

Untitled

a guest
Nov 20th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. unsigned long long gcd(unsigned long long a, unsigned long long b) {
  5. unsigned long long r;
  6. for (;b!=0;)
  7. {
  8. r = a%b;
  9. a = b;
  10. b = r;
  11. }
  12. return a;
  13. }
  14.  
  15. unsigned long long c(int n,int k)
  16. {
  17. unsigned long long temp1 = 1,temp2 =1;
  18. unsigned long long d;
  19. if (k==0 || n==k)
  20. {
  21. return 1;
  22. } else if (k==1 || k==n-1) {
  23. return n;
  24. } else {
  25. if (k*2>n) {
  26. k=n-k;
  27. }
  28. for (int i = 1;i<=k;i++) {
  29. temp1 *= n-i+1;
  30. temp2 *= i;
  31. if (temp1 != 1 && temp2 != 1) {
  32. d = gcd(temp1, temp2);
  33. cout << "n" << n-i+1 << " " << i << endl;
  34. cout << "d" << d << endl;
  35. if (d > 1) {
  36. temp1 /= d;
  37. temp2 /= d;
  38. }
  39. cout << "t" << temp1 << " " << temp2 << endl;
  40. }
  41.  
  42. }
  43. temp1 /= temp2;
  44. return temp1;
  45. }
  46. }
  47.  
  48. int main()
  49. {
  50. cout << c(70, 30) << endl;
  51. unsigned int t, gift, man;
  52. cin >> t;
  53. while (t--) {
  54. cin >> gift >> man;
  55. cout << c(gift-1, man-1) << endl;
  56. }
  57. return 0;
  58. }
Add Comment
Please, Sign In to add comment