#8WA#9MLE求解必关

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

z1443888087 @ 2024-10-10 23:18:55

#include<iostream>
using namespace std;
    int prime[100000000];
    int m_prime[100000000];
bool com(int x){
    int temp=x,ans=0;
    while(temp>0){
        ans=ans*10+temp%10;
        temp/=10;
    }
    if(ans==x)return true;
    else return false;
}
int main(){
    int a,b;
    cin>>a>>b;
    int count=0;
    for(int i=2;i<b;i++)prime[i]=1;
    for(int i=2;i<b;i++){
        if(prime[i]==1){
            m_prime[count]=i;
            count++;
            for(int j=i*2;j<=b;j+=i){
                prime[j]=0;
            }
        }
    }
    for(int i=0;i<count;i++){
        if(com(m_prime[i])&&m_prime[i]>=a){
            cout<<m_prime[i]<<endl;
        }
    }
}

by abssortpow1145145 @ 2024-10-12 21:37:40


#include <bits/stdc++.h>
using namespace std;
bool ikun(int n)
{
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            return false;
        }
    }
    return true;
}
bool man(int n)
{
    int t=n,k=n,tk[10005],tt=1;
    while(t!=0)
    {
        tk[tt++]=t%10;
        t/=10;
    }
    int x=0;
    for(int i=0;i<tt;i++)
    {
        if(tk[x]==tk[tt-i])
        {
            x++;
        }
        else
        {
            return false;
        }
    }
    return true;
}
int main()
{
    int x,y;
    cin >> x >> y;
    for(int i=x;i<=y;i++)
    {
        if(i%2==1 && man(i) &&ikun(i))
        {
            cout << i << endl;
        }
    }
    return 0;
}

|