一个问题

P1217 [USACO1.5] 回文质数 Prime Palindromes

Martin0310 @ 2024-08-17 10:11:41

这一题是不是大多数时间都在判断9989899是不是质数?


by Martin0310 @ 2024-08-17 10:15:42

源代码:

#include<bits/stdc++.h>
using namespace std;
bool prime(int n)
{
    if(11<n && n<100 || 999<n && n<10000 || 99999<n && n<1000000) return false;
    for(int i=2;i<sqrt(n)+1;i++)
    {
        if(i%6==1 || i%6==5 || i==2 || i==3)
            if(n%i==0 && n/i!=1) return false;
    }
    return true;
}
bool palin(int n)
{
    long long r=0,m=n;
    while(m)
    {
        r*=10;
        r+=m%10;
        m-=m%10;
        m/=10;
    }
    return r==n;
}
bool get(long long n)
{
    if(palin(n)) return prime(n);
    else return false;
}
int main()
{
    long long s,e;
    cin>>s>>e;
    for(;s<=e;s++)
    {
        if(s%6==1 || s%6==5 ||s==3 || s==2)
            if(get(s)) printf("%d\n",s);
    }
    return 0;
}

下载了数据。


by Martin0310 @ 2024-08-17 10:16:22

最后一个超时10ms


|