1、快速排序的时间复杂度
最坏:O(n^2) 即在关键字有序或者基本有序时,退化为冒泡排序,为O(n^2)
平均:O(nlogn)
2、1000的阶乘末尾有多少个0?
1000!= 1*2*3*4*5*6*7*8*9*10.....*1000
0是由10产生的,而10 = 2*5
每经过两个数就有一个2的倍数,2,4,6,8...,但是每经过五个数才有一个5的倍数,所以2的个数要大于5的个数,所以只要找出有多少个因数5就可以了。
(1)每5个数就有一个5的因数,1000/5 = 200
(2)每25个数就有一个5*5的因数,1000/(5*5) = 40
(3)每125个数就有一个5*5*5的因数,1000/(5*5*5) = 8
(4)1000以内,5*5*5*5 = 625,只有1个
所以共计:1000/5 + 1000/25 + 1000/125 + 1 = 200 +40 +8 +1 = 249个
//计算n阶乘后0的个数
int Zero(int n)
{
int sum = 0;
int j;
for(int i=5; i<=n; i +=5)//for(int i=1; i<=n; i ++)也可以
{
if(!(i%5))
{
j = i;
while(!(j%5)) //计算5的个数