乘积尾零 - 蓝桥云课 (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;
}