核心思路:想要出现0,即2*5,4*5, 8*5(4,8又可以分解为2),末尾本来就有0的也可以分解为5,
所以我们只需要把这100个数都尽量拆分为因子(2,5)相乘的形式,并统计2,5的个数,然后看一共有多少对(2,5)即可。
ok,上ACcode:
#include<iostream>
using namespace std;
const int N = 100;
int sum2, sum5, a[N + 5];
int main()
{
for (int i = 0; i < N; i++) cin >> a[i];
for (int i = 0; i < N; i++)
{
while (a[i] % 2 == 0)
{
sum2++;
a[i] /= 2;
}
while (a[i] % 5 == 0)
{
sum5++;
a[i] /= 5;
}
}
cout << min(sum2, sum5) << endl;
return 0;
}
over~欢迎讨论