Skip to content

Latest commit

 

History

History
65 lines (61 loc) · 1.32 KB

快排回文.md

File metadata and controls

65 lines (61 loc) · 1.32 KB

快排回文

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
bool prime (long long num)
{
    if (num == 2 || num == 3 || num == 5)
        return true;
    if (num % 2 == 0 || num % 3 == 0 || num % 5 == 0 || num == 1)
        return false;
 
    long long c = 7;
    int maxc = (int)(sqrt (num));
    while (c <= maxc)
    {
        if (num % c == 0)
            return false;
        c += 4;
        if (num % c == 0)
            return false;
        c += 2;
        if (num % c == 0)
            return false;
        c += 4;
        if (num % c == 0)
            return false;
        c += 2;
        if (num % c == 0)
            return false;
        c += 4;
        if (num % c == 0)
            return false;
        c += 6;
        if (num % c == 0)
            return false;
        c += 2;
        if (num % c == 0)
            return false;
        c += 6;
    }
    return true;
}
int main(){
    long long a,b;
    cin>>a>>b;
    for(long long i=a;i<=b;i++){
        if(i>10000000) break;
        long long mid=i,k=0;
        
        while(mid!=0){
            k=k*10+mid%10;
            mid/=10;
        }
        if(k==i&&prime(i)){
            cout << i << endl;
        }
    }return 0;
}