Advertisement
_Mizanur

Combination

Nov 15th, 2022
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. typedef vector<int> vi;
  5.  
  6. #define rapid_io() ios::sync_with_stdio(false);cin.tie(0);
  7. #define endl '\n'
  8. #define pb push_back
  9. #define all(a) (a).begin(),(a).end()
  10. #define rall(a) (a).rbegin(),(a).rend()
  11.  
  12. int main()
  13. {
  14.     rapid_io();
  15.     int n,m;
  16.     while(cin>>n>>m)
  17.     {
  18.         if(n==0 && m==0)
  19.             return 0;
  20.         int arr1[n+1],arr2[m+1];
  21.         for(int i=n-m+1;i<=n;i++)
  22.         {
  23.             arr1[i]=i;
  24.         }
  25.         for(int i=1;i<=m;i++)
  26.         {
  27.            arr2[i]=i;
  28.         }
  29.         for(int i=1;i<=m;i++)
  30.         {
  31.             for(int j=n-m+1;j<=n;j++)
  32.             {
  33.                 if(arr1[j]%arr2[i]==0)
  34.                 {
  35.                     arr1[j]=arr1[j]/arr2[i];
  36.                     arr2[i]=1;
  37.                 }
  38.             }
  39.         }
  40.         ll ans=1,lob=1,hor=1;
  41.  
  42.         for(int i=n-m+1;i<=n;i++)
  43.         {
  44.             lob*=arr1[i];
  45.         }
  46.         for(int i=1;i<=m;i++)
  47.         {
  48.             hor*=arr2[i];
  49.         }
  50.         ans=lob/hor;
  51.  
  52.         cout<<n<<" things taken "<<m<<" at a time is "<<ans<<" exactly."<<endl;
  53.     }
  54.  
  55.  
  56.  
  57.     return 0;
  58. }
  59.  
  60.  
  61.  
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement