Hướng dẫn giải của HSG THPT Thanh Hóa 2022 - Mật Mã


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Một số chia hết cho ~30~ tương đương với việc số đó chia hết cho ~10~ và ~3~.

  • Một số chia hết cho ~10~ sẽ có chữ số hàng đơn vị là ~0~.

  • Một số chia hết cho ~3~ sẽ có tổng các chữ số chia hết cho ~3~.

Từ đó, ta có thuật toán như sau: Lưu lại số lần các chữ số xuất hiện trong ~N~ vào mảng ~cnt~. Nếu ~cnt[0] = 0~ hoặc tổng các chữ số không chia hết cho ~3~, ta in ra ~-1~. Ngược lại, in ra các chữ số lần lượt theo thứ tự từ lớn đến nhỏ, ta sẽ đảm bảo đồng thời số in ra là lớn nhất và chữ số cuối cùng là ~0~.


Bình luận

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


Không có bình luận tại thời điểm này.