USACO-section1.5 Prime Palindromes[回文数][素数]

该博客探讨了如何寻找一亿以内的回文素数问题,指出由于数学性质,除11外偶数位的回文数不可能为素数,因此八位数的回文数可以排除在外。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意:求一亿内回文素数。
题解:不越界极限是一千万,
一个神奇的数学结论是 除了11,偶数位的回文数肯定不是素数。所以八位数回文数忽略不计。

/*
ID:jsntrdy1
PROG:pprime
LANG: C++
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#include<fstream>
#include<cmath>
bool c[10000000];
using namespace std;
ifstream fin("pprime.in");
ofstream fout("pprime.out");

int main()
{
    int k,j,a,b,i;
    fin>>a>>b;
    if (b>9999999) b=9999999;
    for (i=2;i<=int(sqrt(b));i++)
      if (!c[i])
       for (j=i*i;j<=b;j=j+i)
           c[j]=1;
    for (i=a;i<=b;i++){
    k=i;j=0;
    while (k){
     j=j*10+k%10;
     k=k/10;
    }
    if ((!c[i])&&(i==j))
       fout<<i<<endl;
    }
    fin.close();
    fout.close();
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值