蓝桥杯每日一题2023.10.25
乘积尾零 - 蓝桥云课 (lanqiao.cn)
题目描述
题目分析
由于需要相乘的数很多,所以我们不能直接进行暴力模拟,我们知道10 = 2 * 5, 所以我们只需要找出这个数2和5的个数,其中2和5个数小的那个则为末尾0出现的个数
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll x = 1, cnt2 = 0, cnt5 = 0, ans = 0;
ll q;
for(int i = 1; i <= 10; i ++)
{
for(int j = 1; j <= 10; j ++)
{
cin >> q;
while(q % 5 == 0)
{
q /= 5;
cnt5 ++;
}
while(q % 2 == 0)
{
q /= 2;
cnt2 ++;
}
}
}
ans = min(cnt2, cnt5);
cout << ans;
return 0;
}