1000!尾部有多少个0

评价:
0
(0用户)

/*

找出能被5整除的+,与偶数相乘有1个0, 一个5与一个偶数相乘得到一个0
能被25整除的+2, 2个0,一个25与两个偶数相乘得到两个0
能被125整除的+3 3个0,一个125与三个偶数相乘得到三个0
能被625整除的+4 4个0,一个625与四个偶数相乘得到四个0
注意以上的数只能同时满足一个,否则就重复计算了,最后的结果是249个

*/

#include <stdio.h>
#include <stdlib.h>

void main()
{
int i = 1 , count = 0 ;
for( i = 1 ; i <= 1000 ; i++ )
{
if( i%625 == 0 )
{
count += 4 ;
printf("%d ",i) ;
}
else if( i % 125 == 0 )
{
if( i%625 == 0 )
{
continue ;
}

else
{
count += 3 ;
}
}

else if( i % 25 == 0 )
{
if(( i%125 == 0 )||( i%625==0 ))
{
continue ;
}
else
{
count += 2 ;
}

}
else if( i % 5 == 0 )
{
if(( i%125 == 0 )||( i%625==0 )||( i%25 == 0 ))
{
continue ;
}
else
{
count ++ ;
}
}
}

printf("%d",count) ;
getch() ;
}

注册并通过认证的用户才可以进行评价!

发表评论