当前位置:   article > 正文

计算时间复杂度(C++)题解_c++时间复杂度题

c++时间复杂度题

题干:

为让同学对于时间复杂度有更加深入的认识,暑期第一场排位赛只是一道简单的签到题,本题目首先假设计算机速度是每秒10^{8} ,之后会给出计算机在1s中n的最大规模和运算量对应表,并用运算量作为输入,请同学们对于每个输入,输出n的最大规模。(注意用**代表乘方)
运算量n!2**nn**3
最大规模1126464
运算量n**2nlognn
最大规模100004500000100000000

输入格式:

第一行,一个数 ​,作为测试样例数。
第二行, ​个字符串(来源于上表运算量)。

输出格式:

输出t个运算量对应n的最大规模,以换行符作为分割。

输入样本:

6
n! 2**n n**3 n**2 nlogn n

 输出样本:

11
26
464
10000
4500000
100000000

 具体代码:

  1. #include<bits/stdc++.h>
  2. #include<string>
  3. using namespace std;
  4. int main(){
  5. int num;
  6. scanf("%d",&num);
  7. string a="n!";
  8. string b="2**n";
  9. string c="n**3";
  10. string d="n**2";
  11. string e="nlogn";
  12. string f="n";
  13. string A;
  14. long long M[100];
  15. for(int i=0;i<num;i++){
  16. cin>>A;
  17. if(A==a)
  18. M[i]=11;
  19. else if(A==b)
  20. M[i]=26l;
  21. else if(A==c)
  22. M[i]=464;
  23. else if(A==d)
  24. M[i]=10000;
  25. else if(A==e)
  26. M[i]=4500000;
  27. else if(A==f)
  28. M[i]=100000000;
  29. }
  30. for(int j=0;j<num;j++){
  31. cout<<M[j]<<endl;
  32. }
  33. return 0;
  34. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/955389
推荐阅读
相关标签
  

闽ICP备14008679号