fork(1) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. unsigned Dwumian(unsigned n, unsigned k)
  6. {
  7. unsigned nLicznik = 1, nMianownik = 1;
  8.  
  9. if(k > (n - k))
  10. {
  11. for(unsigned i = (k+1); i <= n; i++)
  12. {
  13. nLicznik *= i;
  14. }
  15.  
  16. for(unsigned i = 1; i <= (n - k); i++)
  17. {
  18. nMianownik *= i;
  19. }
  20. }
  21. else
  22. {
  23. for(unsigned i = ((n - k)+1); i <= n; i++)
  24. {
  25. nLicznik *= i;
  26. }
  27.  
  28. for(unsigned i = 1; i <= k; i++)
  29. {
  30. nMianownik *= i;
  31. }
  32. }
  33.  
  34. return nLicznik / nMianownik;
  35. }
  36.  
  37. int main()
  38. {
  39. unsigned nIle, n, k;
  40. cin >> nIle;
  41.  
  42. for(unsigned i = 0; i < nIle; i++)
  43. {
  44. cin >> n >> k;
  45. cout << Dwumian(n, k) << endl;
  46. }
  47.  
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 16048KB
stdin
3
0 0 
7 3 
1000 2
stdout
1
35
499500