2 条题解

  • 0
    @ 2026-11-1 18:37:52

    #include #include using namespace std; bool isPalindrome(int n){ int num = n, rev = 0; while(num > 0){ rev = rev*10 + num%10; num /= 10; } return rev == n; } bool isPrime(int n){ if(n < 2) return false; if(n == 2) return true; if(n % 2 == 0) return false; int sqrtn = sqrt(n); for(int i=3; i<=sqrtn; i+=2){ if(n % i == 0) return false; } return true; } int main(){ int a, b; cin >> a >> b; for(int n=a; n<=b; n++){ // 跳过偶数位数的回文数 if((n>=1000 && n<=9999) || (n>=100000 && n<=999999)) continue; if(isPalindrome(n) && isPrime(n)){ cout << n << endl; } } return 0; }

    信息

    ID
    562
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    49
    已通过
    15
    上传者