LyNa rất yêu thích số 8, cô ấy đang học bảng cửu chương nên muốn đi tìm dấu hiệu về bội số của 8. Việt thấy LyNa có hứng thú với Toán học như vậy nên rất vui. Sau khi yêu cầu cô ấy dùng Scrath lập trình trò chơi luyện khả năng ghi nhớ bảng cửu chương thì Việt bèn cho một số nguyên n và yêu cầu LyNa hãy đảo các chữ số trong n sao cho n chia hết cho 8. Loay hoay mãi, Lyna không thể dùng ngôn ngữ kéo thả Scrath để xử lý, cô ấy dù mới học lớp 9 nhưng rất hứng thú với ngôn ngữ `X`, chỉ có điều cô ấy chưa code được tốt lắm. Hãy giúp LyNa xử lý bài toán này nhé! Input Specification Một dòng duy nhất ghi số nguyên: n(1≤length(n)≤2×105) Output Specification In ra Yes nếu số nguyên n có thể biến đổi về một số chia hết cho 8 hoặc No nếu không thể Sample Input 1 Copy 1234 Sample Output 1 Copy Yes Sample Input 2 Copy 1333 Sample Output 2 Copy No Ngôn ngữ `X` : Fortran ,Haskell,VB,Swift,Perl,Prolog,SQLite,SpiderMonkey đặt biệt C++ và Swift

1 câu trả lời

#include <iostream>
#include <vector>
using namespace std;

string s;
vector<int> r(10);

bool check(vector<int> r, int i) { 
    int a = i % 10, b = i / 10;
    r[a]--, r[b]--; 
    bool ans = (r[a] >= 0) & (r[b] >= 0); 
    if (s.size() == 2) return ans && (i % 8 == 0);
    if (i % 8 == 4) {
        return ans & (r[1] + r[3] + r[5] + r[7] + r[9] > 0);
    } else {
        return ans & (r[2] + r[4] + r[6] + r[8] > 0);
    }
};

int main() {
    cin >> s;
    for (auto i: s) r[i - '0']++;
    
    if (s.size() == 1) {
        cout << (s == "8" || s == "0" ? "Yes" : "No");
        return 0;
    } else {
        for (int i = 0; i <= 99; i += 4) {
            if (check(r, i)) 
                return cout << "Yes", 0;
        }
    }
    cout << "No";
}

Câu hỏi trong lớp Xem thêm

giup e voi I/ Supply the correct form of the verbs in brackets 1. You (think) ……………………… collecting stamps costs much money? 2. Every year, my mother (give) ……………………… me a nice doll on my birthday. 3. Jenny says she loves collecting pens but she (not/continue) ……………………… this hobby from next year. 4. If you wash your hands more, you (have)……………………. less chance of catching flu. 5. Getting plenty of rest is very good. It (help)…………………. you to avoid depression. 6. Mr. John (be) ……………………… principal of our school since last year. 7. I (see) ……………………… a car accident on this corner yesterday. 8. We like (come)……………………to school by bus, but we hate (stand)………………………. and (wait) …………………… in the rain. 9. ……………………… (you/ ever/ meet) anyone famous? 10. My mother (come) ……………………… to stay with us next weekend. 11. When he lived in Manchester, he (work) ……………………… in a bank. 12. We (be) ……………………… students for four years. 13. We are planting trees around our school now. Our school (be) ……………………… surrounded by a lot of green trees. 14. What ……………………… your father usually ……………………… (do) in the evenings? 15. My sister likes (cook) ……………………… very much. She can cook many good foods. 16. My father says when he's retired, he (go) …………………… back to his village to do the gardening. 17. They want (buy) ……………………… some meat for dinner. 18. Linh is my best friend. We (know) ……………………… each other for 5 years. 19. I enjoy (fish) ……………………… because it is relaxing. 20. How about (go) ……………………… to the movie theatre?

3 lượt xem
1 đáp án
23 giờ trước