给10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?
质因数分解可知道末尾0的个数取决于质因数分解2和5的个数,两者取最小值就行了。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=15;
int g[N][N];
int main()
{
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)cin>>g[i][j];
}
int min2=0,min5=0;
cout<<endl;
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
int x=g[i][j];
while(x&&x%2==0)
{
x=x/2;
min2++;
}
while(x&&x%5==0)
{
x=x/5;
min5++;
}
}
}
cout<<min(min2,min5);
return 0;
}