我编写了一个C程序,它应该计算并打印所有n值的e ^ x近似值.我正在使用这个等式来实现我的程序.
f(x,n)= e ^ x = i = 0到n = x ^ i/x之和!= x ^ 0/0!+ x ^ 1/1!+ x ^ 2/2!+ .... + x ^ n/n!
这是我的代码:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double factorial(int n){
double fac =1;
int i;
for(i =1; i <= n; i++){
fac *=n;
}
return fac;
}
double exponent(double x, int n){
double sum, i;
for(i = 0; i <=n; i++){
sum += (pow(x, i)/ factorial(i));
}
return sum;
}
int …Run Code Online (Sandbox Code Playgroud) 我在确定两组代码示例的Big O运行时间时遇到了一些麻烦,其中迭代依赖于外部循环.我对Big O运行时有一个基本的了解,我可以找出更简单的代码示例的运行时间.我不太确定某些行如何影响运行时间.
我会考虑第一个O(n ^ 2).但是,我不确定.
for(i = 1; i < n; i++){
for(j = 1000/i; j > 0; j--){ <--Not sure if this is still O(n)
arr[j]++; /* THIS LINE */
}
}
Run Code Online (Sandbox Code Playgroud)
我对这个失去了一点点.O(n ^ 3)可能是O(n ^ 2)?
for(i = 0; i < n; i++){
for(j = i; j < n; j++){
while( j<n ){
arr[i] += arr[j]; /* THIS LINE */
j++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我发现这篇文章并将其应用于第一个代码示例,但我仍然不确定第二个.什么是嵌套循环的Big-O,其中内循环中的迭代次数由外循环的当前迭代确定?