divisor02

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, Java, JS, Kotlin, Lua, Node JS, ObjectiveC, OCaml, Output, Pascal, Perl, PHP, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch
Điểm: 200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Khôi là một người rất hay gặp xui xẻo, và hay quên ghi dấu bằng.

Vì vậy anh ấy không thích con số \(13\), và những số chia hết cho \(13\) vì anh ấy cho rằng \(13\) là con số xui xẻo.

Hãy viết chương trình nhập vào một số nguyên dương \((\leq 10^{200})\), hãy cho biết Khôi không thích số đó hay không?

In ra "YES", nếu Khôi không thích. Ngược lại in ra "NO".

Example

Test 1

Input
26
Output
YES

Test 2

Input
25
Output
NO

Bình luận

  • dkm 10:32 a.m. 16 Tháng 1, 2025
    spoiler code ac (đây chỉ à code tham khảo hãy là một coder thông minh)
    //main idea: mình sẽ xử lý chuỗi số theo từng nhóm 3 chữ số rồi chuyển thành số rồi cộng trừ xen kẽ để kiểm tra xem số đó chia hết cho 13 không
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        string s;   //khởi tạo mảng
        cin>>s;
        long long ans=0,temp=0,d=0;
        for(int i=s.size()-1;i>=0;i-=3){
            if(i-2>=0){     //hàm if else để nhóm 3 chữ số của mỗi chuỗi rồi chuyển thành số
                i-=2;
                temp=temp*10+(s[i]-'0');
                i++;
                temp=temp*10+(s[i]-'0');
                i++;
                temp=temp*10+(s[i]-'0');
    
            }else{    
                for(int j=0;j<=i;j++){
                    temp=temp*10+(s[j]-'0');
                }
            }
            // cout<<temp<<endl;        //check xem kiểm tra số đã chuyển đúng chưa
            if(d%2==0){     // Cộng trừ xen kẽ vì biến ans ban đầu là 0 nên mình công trước rồi trừ sau xen kẽ
                ans+=temp;
            }else{
                ans-=temp;
            }
            temp=0; // reset biến lưu số
            d++;
        }
        // cout<<"ans: "<<ans<<endl;    // check xem kết quả ans
        if(ans%13==0){  //kiểm tra xem số đó chia hết cho 13 không
            cout<<"YES";
        }else{
            cout<<"NO";
        }
    }
    //Code by Đào Kiến Min :))
    
    • 9 bình luận nữa