fork(1) download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4. using namespace std;
  5.  
  6.  
  7. int main()
  8. {
  9.  
  10. long long int wynik, silnia_n=1, silnia_k=1;
  11. int n, k, t, pom = 0;
  12. cin >> t;
  13. while (t--)
  14. {
  15.  
  16. cin >> n >> k;
  17.  
  18. if (n == k)
  19. cout << '1' << endl;
  20. else if (k == 0)
  21. cout << '1' << endl;
  22. else
  23. {
  24. int *tab_n = new int[n];
  25. int *tab_k = new int[k];
  26. for (int i = 0; i < k; i++)
  27. {
  28. tab_n[i] = n - i;
  29. tab_k[i] = k - i;
  30.  
  31. }
  32. for (int i = 0; i < k; i++)
  33. {
  34. while (tab_n[pom] % tab_k[i] != 0 && pom<k)
  35. {
  36. pom++;
  37. }
  38. if (pom < k)
  39. {
  40. tab_n[pom] /= tab_k[i];
  41. tab_k[i] = 1;
  42. }
  43.  
  44. }
  45. for (int i = 0; i < k; i++)
  46. silnia_n *= tab_n[i];
  47. for (int i = 0; i < k; i++)
  48. silnia_k *= tab_k[i];
  49. wynik = silnia_n / silnia_k;
  50. cout << wynik << endl;
  51. silnia_n = 1;
  52. silnia_k = 1;
  53. pom = 0;
  54. delete[] tab_n;
  55. delete[] tab_k;
  56. }
  57.  
  58. }
  59. return 0;
  60. }
Success #stdin #stdout 0s 3416KB
stdin
3
0 0
7 3
1000 2
stdout
1
35
499500