Hướng dẫn giải của LOOP25: Số đẹp


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.

Hướng dẫn giải

Kiểm tra mọi chữ số của N có thuộc {6, 8} hay không. Bài chỉ là một phép kiểm tra trên một số nên không có cách vét cạn nào khác đáng kể, viết 1 sub (đạt 20/20 test).

Sub 1: Duyệt từng chữ số — ~O(log N)~

Lấy từng chữ số bằng phép chia lấy dư cho 10; nếu gặp chữ số khác 6 và 8 thì kết luận không phải số đẹp. Đạt 20/20 test.

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    long long n;
    cin >> n;
    // Duyệt từng chữ số của N, nếu có chữ số nào khác 6 và 8 thì không phải số đẹp
    bool beautiful = true;
    while (n > 0) {
        int d = n % 10;
        if (d != 6 && d != 8) { beautiful = false; break; }
        n /= 10;
    }
    cout << (beautiful ? "Yes" : "No") << "\n";
    return 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.