Trailing zeros of array

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng A[] gồm N phần tử, gọi X là tích các phần tử trong mảng A[], bạn hãy xác định xem X có bao nhiêu chữ số 0 liên tiếp tính từ chữ số cuối cùng của X.

Ví dụ A = [2, 5, 10, 3, 1, 2], X = 600 sẽ có 2 chữ số 0 tận cùng tính từ cuối

Gợi ý : Tương tự như bài trailing zero, bạn cần phần tích thừa số nguyên tố của từng số trong mảng A[] để đếm số lần xuất hiện của số 2 và 5


Đầu vào

Dòng 1 là N

Dòng 2 gồm N số trong mảng A[]


Giới hạn

1<=N,M<=10^6

0<=A[i]<=10^6


Đầu ra

In ra đáp án của bài toán


Ví dụ :

Input 01
Copy
6
2 5 10 3 1 2
Output 01
Copy
2

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    bengokyeuanh99  đã bình luận 5:27:05 ch, 07/04/2025

    include <iostream>

    using namespace std;

    int main() { ios::syncwithstdio(false); cin.tie(0);

    Copy
    int n, x;
    long long cnt2 = 0, cnt5 = 0;
    
    cin >> n;
    while (n--) {
        cin >> x;
    
        while (x % 2 == 0) {
            cnt2++;
            x /= 2;
        }
        while (x % 5 == 0) {
            cnt5++;
            x /= 5;
        }
    }
    
    cout << (cnt2 < cnt5 ? cnt2 : cnt5);
    return 0;
    

    }