void main() { int i=1,k=0,n; scanf("%d",&n); while(i<=n-1) { i=i+1; k=k+10*i; } }

求这段程序的时间复杂度,在线急等
2025-02-25 10:03:26
推荐回答(4个)
回答1:

唉,
你那个r只计算一次么,,,放到循环里,还有循环里没有控制语句,另外printf("n是素数")无论如何都要输出?还是加个判断吧。。。谁知道n是什么,
乱七八遭

#include
main ()
{int i, n, r;
i = 2;
scanf ("%d", & n);
while (i<(n - 1))
{ r = n%i;
if (r==0)
else i++;
}
if (r!=0)
printf ("%d是素数",n);
}

回答2:

while(i<=n-1)这个语句频度为n-1
时间复杂度为O(n-1)

回答3:

i是从1开始的,所以O(n-1)

回答4:

O(n)