PTIT056 - Số đặc biệt 2

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Nga được đưa cho một số nguyên ~n~ và nhiệm vụ của cô ấy là trả lời xem ~n~ có phải là số đặc biệt hay không? Các bạn hãy giúp cô ấy nhé!

Số ~n~ được gọi là sô đặc biệt khi:

  • ~n~ là số nguyên tố
  • Tổng tất cả chữ số của ~n~ cũng là số nguyên tố

Input

Một dòng duy nhất chứa số ~n~ ~(1 \le n \le 10^5)~

Output

  • Nếu ~n~ là số đặc biệt thì in ra dòng chữ "YES"
  • Ngược lại in ra dòng chữ "NO"

Sample

Input #1
5
Output #1
YES
Input #2
17
Output #2
NO

Problem source: CLB Lập Trình PTIT


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 6
    nguyenductoan59  đã bình luận lúc 3, Tháng 4, 2024, 15:25

    CODE C++ ĐÃ AC NHA MNG CHO MÌNH XIN 1 VOTE VỚI Ạ

    include <iostream>

    include <cmath>

    bool snt(int n)

    {

    if (n < 2)
    {
        return false;
    }
    for (int i = 2; i <= sqrt(n); ++i)
    {
        if (n % i == 0)
        {
            return false;
        }
    }
    return true;
    

    }

    bool isSumOfDigitsPrime(int n)

    {

    int s = 0;
    while (n > 0)
    {
        s += n % 10;
        n /= 10;
    }
    return snt(s);
    

    }

    bool sdb(int n) { return snt(n) && isSumOfDigitsPrime(n); }

    int main() { int n; std::cin >> n;

    if (sdb(n))
    {
        std::cout << "YES\n";
    }
    else
    {
        std::cout << "NO\n";
    }
    
    return 0;
    

    }


  • 0
    hohoanghai5042011  đã bình luận lúc 19, Tháng 3, 2024, 8:45

    #include <iostream>

    #include <cmath>

    bool isPrime(int num) { if (num < 2) { return false; } for (int i = 2; i <= sqrt(num); ++i) { if (num % i == 0) { return false; } } return true; }

    bool isSumOfDigitsPrime(int num) { int sum = 0; while (num > 0) { sum += num % 10; num /= 10; } return isPrime(sum); }

    bool isSpecialNumber(int num) { return isPrime(num) && isSumOfDigitsPrime(num); }

    int main() { int n; std::cin >> n;

    if (isSpecialNumber(n)) {
        std::cout << "YES\n";
    } else {
        std::cout << "NO\n";
    }
    
    return 0;
    

    }