社区讨论

66分球条

P1217[USACO1.5] 回文质数 Prime Palindromes参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mhjapw7q
此快照首次捕获于
2025/11/03 23:29
4 个月前
此快照最后确认于
2025/11/03 23:29
4 个月前
查看原帖
最后三个测试点超时了,求助大佬
CPP
#include <iostream>
using namespace std;

// ip: 判断一个数是否为回文数
bool ip(int num) { // 判断回文数
    int r = 0, o = num;
    while (num != 0) {
        int digit = num % 10;
        r = r * 10 + digit;
        num /= 10;
    }
    return o == r;
}

int main() {
    int a, b;
    cin >> a >> b;

    // 遍历范围 [a, b] 内的所有奇数
    for (int num = a + (a % 2 == 0 ? 1 : 0); num <= b; num += 2) {
        // 判断是否为回文数
        if (!ip(num)) continue;

        // 判断是否为质数
        bool ip = true;
        if (num <= 1) ip = false;
        if (num == 2) ip = true;
        if (num % 2 == 0) ip = false;
        for (int i = 3; i <= num / 2; i += 2) {
            if (num % i == 0) {
                ip = false;
                break;
            }
        }

        // 如果是回文质数,输出
        if (ip) {
            cout << num << endl;
        }
    }

    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...