下面程序段的时间复杂度是_______。 int fun(int n){int i=1,s=1;while(s<n) s=++i;}
举一反三
- 下面程序的时间复杂度为 _______。void fun( int n) { int i=1; while (i<=n) i=i*2}
- 程序段 i=0;s=0; while(++i<=n){int p=1; for(j=0; j<i; j++) p*=j; s=s+p; }的时间复杂度为
- 下面程序的功能是计算 S= 0!+1!+2!+…+k! ( k>=0 )。 #include "stdio.h" long fun(int n) { int i; long s=1; for(i=1; ① ;i++) s*=i; return( ② ); } int main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); return 0; }
- 计算下面程序段中,s=s+p和p*=j语句的执行次数以及该程序段的时间复杂度(设问题规模为n)。 int i=1,j,s=0; while (i++<=n) { int p=1; for (j=1;j<=i;j++) p*=j; s=s+p; }
- 以下程序段的输出结果是_______。 int s=1,i=2; do { s=s*i; i++; }while(i<=5); printf("%d\n",s);