BEAUTY - NHS

Xem PDF

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một số tự nhiên được gọi là số đẹp nếu tổng các chữ số lẻ trong nó bằng tổng các chữ số chẵn.

Ví dụ: \(3234\) là một số đẹp vì tổng các chữ số lẻ là \(3 + 3 = 6\), tổng các chữ số chẵn là \(2 + 4 = 6\).

Yêu cầu: Kiểm tra một số nguyên dương \(N\) có phải là số đẹp hay không. Nếu đẹp, in ra YES, ngược lại in ra NO.

Input

  • Dòng đầu ghi \(T\) không quá \(100\) - số câu hỏi.
  • \(T\) dòng tiếp theo, mỗi dòng ghi ra số nguyên dương \(N\) không quá \(10^{1000}\).

Output

  • Ứng với mỗi câu hỏi, in ra YES/NO tương ứng.

Example

Test 1

Input
1
3234
Output
YES

Bình luận


  • 7
    Who_you_knows_Who    3:01 p.m. 23 Tháng 1, 2022 đã chỉnh sửa

    Spoiler Alert


    Mình xin chia sẻ cách làm của bài này như sau:

    • chiều dài của số lớn nhất có thể là \(10^1\)\(^0\)\(^0\)\(^0\) nên ta sẽ dùng xâu kí tự.
    • Duyệt hết các kí tự của xâu:
    • Tạo 2 biến để cộng tổng của các chữ số lẻchữ số chẵnso sánh với nhau.
    • Vì là kí tự nên ta sẽ -48 để từ kí tự thành số (VD kí tự '1' trong bảng mã ASCII là 49).

    < Bảng mã ASCII >:

    Full Code | O (s.size()) | 100% test | AC

       #include<bits/stdc++.h>
       using namespace std;
       int main () 
       {
           string s;
           long long t;
           cin >> t;
           while (t --)
           {
               long long tong = 0, tong1 = 0;
               cin >> s;
               for(int i = 0; i < s.size(); i ++) 
               {
                  if ((s[i] - 48) % 2 == 0) tong += s[i] - 48;
                  else tong1 += s[i] - 48;
               }
               if (tong == tong1) cout << "YES" << endl;
               else cout << "NO" << endl;
           }
       }
    

    Nếu các bạn có thắc mắc gì thì có thể ib riêng cho mình: Tại đây

    • 5 bình luận nữa