问题标题: 酷町堂:3108

0
0

0
已采纳
包涵宇
包涵宇
中级天翼
中级天翼

张家禾  ,你好!!!

这题说要求素数,所以我用了埃氏筛

代码如下:

for(int i=2;i<=m;i++)
if(a[i]==0)
for(int j=i*2;j<=m;j+=i)
a[j]=1;

然后我们从n~m找回文数

须要一个循环和函数

循环:

for(int i=n;i<=m;i++)
s+=j(i,a[i]);

函数:

int j(int x,bool d){
    string b="",c="";
    for(int i=0;x>0;i++){
        b+=x%10+'0';
        x/=10;
    }
    for(int j=b.size()-1;j>=0;j--)c+=b[j];
    if(b==c&&d==0)return 1;
    return 0;
}

我们还需要定义一些数:

bool a[1000000]; int n,m,s=0;

加上框架,即可AC

望采纳!!!

0
董子墨
董子墨
中级天翼
中级天翼

定义判断是否为回文数和素数的函数,然后在main函数里判断

我要回答