5 条题解

  • 0
    @ 2025-10-14 19:28:28

    [#include <stdio.h> #include <stdbool.h>

    // 判断一个数是否为质数 bool isPrime(int n) { if (n <= 1) return false; if (n == 2) return true; if (n % 2 == 0) return false;

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

    }

    // 判断一个数是否为cry数 bool isCryNumber(int n) { // 首先判断数字本身是否为质数 if (!isPrime(n)) return false;

    // 然后判断每一位数字是否为质数
    int temp = n;
    while (temp > 0) {
        int digit = temp % 10;
        // 检查每一位数字是否为质数
        if (digit != 2 && digit != 3 && digit != 5 && digit != 7) {
            return false;
        }
        temp /= 10;
    }
    return true;
    

    }

    int main() { int T; scanf("%d", &T);

    while (T--) {
        int n;
        scanf("%d", &n);
        
        if (isCryNumber(n)) {
            printf("YES\n");
        } else {
            printf("NO\n");
        }
    }
    
    return 0;
    

    } ](https://)

    信息

    ID
    64
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    (无)
    递交数
    2256
    已通过
    275
    上传者