1.void fun()
{
int i=1,k=0,n=10;
while(i<=n-1)
{
k+=10*i;
++i;
}
}
解:for(i=1;i<=n-1;++i)
,时间复杂度为O(n)
2.void fun(n)
{
int i=1,j=0;
while(i+j<=n)
if(i>j)
++j;
else
++i;
}
解:举例:1<=n i=1,j=1; 2<=n i=2,j=1 ;3<=n i=2,j=2 ;4<=n, i=3,j=2 ;5<=n时间复杂度O(n)
3.void fun(int n)
{
int x=n,y=0;
while(x>=(y+1)*(y+1))
++y;
}
解:x>=1×1 y=1 ; x>=2×2 y=2 ... 时间复杂度O( √n )
4.i=1; k=0;
while (i<=n-1){
k+=10*i;
i++;
}
解:k+=10*i的意思是k=k+10*i,时间复杂度为O( n)
5.k=0;
for(i=1; i<=n; i++){
for(j=i; j<=n; j++)
k++;
}
解:n+(n-1)+(n-2)+.....+3+2+1=n(n+1)/2,时间复杂度为O(n^2)