以下算法的时间复杂度为 O(log₂n)
    void fun(int n){
        int i=1;
        while(i<n)
            i=i*2;
    }
   /*基本运算(执行频率最高的语句)i=i*2(每次执行一次i*2),又2^i≤n;
    设执行次数为t,则判断条件可理解为2^t=n,
    即t=log₂n,则T(n)=O(log₂n)*/ 
设n是描述问题规模的负整数,下面的程序片段复杂度是O(log₂n)
    x=2;
    while(x<n/2)
    x=2*x;
/*基本运算(执行频率最高的语句)为x=2*x,每执行一次x乘2,
设执行次数为t,则有2^(t+1)<n/2,所以t<log₂(n/2)-1=log₂n-2,
得T(n)=O(log₂n)*/ 
下列函数的时间复杂度是O(n^(1/2))
    int func(int n){
        int i=0,sum=0;
        while(sum<n) sum+= ++i;
        return i;
    }
/*基本运算sum+= ++i,它等价于++i;sum=sum+i,每执行一次i自增1.
i=1时,sum=0+1;
i=2时,sum=0+1+2;
i=3时,sum=0+1+2+3,
以此类推得出sum=0+1+2+3+...+i=(1+i)*i/2,
可知循环次数t满足(1+t)*t/2<n,
因此时间复杂度为O(n^(1/2))*/