小学奥数 连乘积末尾0的个数

对于所有的数,统计每个数的2和5的个数,累加起来,取2和5的个数的最小值,即为0的个数、

#include<iostream>
#include<cstdio>
using namespace std;
int a,b,ans1,ans2;
int main()
{
    scanf("%d%d",&a,&b);
    for(int i=a;i<=b;i++){
      int x=i;
      while(x%5==0&&x!=0){
          x/=5;
          ans2++;
      }
      x=i;
      while(x%2==0&&x!=0){
          x/=2;
          ans1++;
      }
    }
    printf("%d",min(ans1,ans2));
}

posted @ 2015-10-26 19:20  Martrix99  阅读(762)  评论(0编辑  收藏  举报