这个阶乘问题代码的时间复杂度是多少?

时间:2019-03-25 21:11:02

标签: java c++ algorithm time-complexity analysis

据我了解,最多N个输入的非嵌套循环需要O(N)次, 基本步骤(例如赋值),基本数学运算需要O(1)次。

我感到困惑的是,阶乘是一个NP的问题,它花费指数的时间复杂度(通过阅读旧线程(Factorial-time algorithms and P/NP知道),但是下面的代码除了N次循环和2个基本这样的代码不是O(N)+ O(1)~~ O(N)吗?

 Long factorial = 1L ;
 for (int c = 1; c<=20; c++){
      factorial =(Long) factorial *c ; 
      }
  print(factorial);

0 个答案:

没有答案