fork(1) download
  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4.  
  5. int main() {
  6. unsigned int start_time1,start_time2,start_time3,search_time1,search_time2,search_time3;
  7. int i,y,u,m,n,h,j,x;
  8. long long c3=0;
  9. cin>>m;
  10. cin>>n;
  11. double k=m,c2=1,c1;
  12. long long D[m+3][n+1];
  13. double b=m-n, q=n, w=m, z=b;
  14. if(m>n && n>=1)
  15. {
  16. start_time1 = clock();
  17. for(i=1;i<n;i++) {q=q*i;}
  18. for(y=1;y<m;y++) {w=w*y;}
  19. for(u=1;u<b;u++) {z=z*u;}
  20. c1=w/(q*z);
  21. cout<<"По первой формуле равно:"<<c1<<" "<<endl;
  22. search_time1 = clock() - start_time1;
  23.  
  24. start_time2 = clock();
  25. for(i=n;i>=1;i--)
  26. {
  27. c2*=(k-i+1)/i;
  28. }
  29. cout<<"По второй формуле равно:"<<c2<<" "<<endl;
  30. search_time2 = clock() - start_time2;
  31.  
  32. start_time3 = clock();
  33. for(y=1;y<=m;y++) // Для каждой строки.
  34. {
  35. D[y][1]=y;
  36. D[y][y]=1;
  37. for(x=2;x<=n && x<y;x++)
  38. {
  39. D[y][x]=D[y-1][x-1]+D[y-1][x];
  40. }
  41. }
  42. c3=D[m][n];
  43. cout<<"По третьей формyле равно:"<<c3<<" "<<endl;
  44. search_time3 = clock() - start_time3;
  45. }
  46. else if(m<n) {
  47. cout<<"invalid";
  48. }
  49.  
  50. cout<<"Первая формула сработала за:(в милисек)"<<((double)search_time1/CLOCKS_PER_SEC)*1000<<endl;
  51. cout<<"Вторая формула сработала за:(в милисек)"<<(double)search_time2/CLOCKS_PER_SEC*1000<<endl;
  52. cout<<"Третья формула сработала за:(в милисек)"<<(double)search_time3/CLOCKS_PER_SEC*1000<<endl;
  53. return 0;
  54. }
Success #stdin #stdout 0s 3460KB
stdin
12
4
stdout
По первой формуле равно:495 
По второй формуле равно:495 
По третьей формyле равно:495 
Первая формула сработала за:(в милисек)0.056
Вторая формула сработала за:(в милисек)0.008
Третья формула сработала за:(в милисек)0.012