Trang chủ Tin Học Lớp 11 LyNa rất yêu thích số 8, cô ấy đang học...

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 vu

Câu hỏi :

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

Lời giải 1 :

#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";
}

Thảo luận

-- đặt biệt C++ và Swift `->` đề đây ý ẹ
-- ``
-- $\text{ }$
-- zề
-- $\text{}$

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 11

Lớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247