据我了解,最多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);