指出下列各算法的时间复杂度。 (1)prime(int n) /*n为一个正整数*/ { int i=2: while((n%i)!=0&&i*1.0sqrt(n)) print f(”%d是一个素数\n”,n

admin2014-12-25  28

问题 指出下列各算法的时间复杂度。
    (1)prime(int n)    /*n为一个正整数*/
    {
    int i=2:
    while((n%i)!=0&&i*1.0    if(i*1.0>sqrt(n))
    print f(”%d是一个素数\n”,n);
    else
    print f(”%d不是一个素数\n”,n);
    }
  (2)s uml (int n)    /*n为一个正整数*/
    {
    int P=1,sum=0,i;
for(i=1;i<=n;i++)
    {
    P*=i;
    sum+=p;
    }
    return(sum);
  }
(3)sum2(int n)    /*n为一个正整数*/
  {
    int sum=0,i,j;
    for(i=1;i<=n;i++)
    {
    P=1;
    for(j=l;j<=i;j++)P*=j;
    sum+=p;
    }
    return(sum);
  }

选项

答案算法的时间复杂度是由嵌套最深层语句的频度决定的。 (1)prime的嵌套最深层语句: i++; 它的频度由条件((n%i)!=0&&i*1.02)。

解析
转载请注明原文地址:https://kaotiyun.com/show/DeVx777K
0

最新回复(0)