heathera @ 2024-09-13 17:24:06
#include<stdio.h>
#include<string.h>
bool panduanhuiwenshu(int n)//判断n是否为回文数
{
if(n<10)
{
return true;
}
char s[10];
sprintf(s,"%d",n);
int len=strlen(s);
for(int i=0;i<len/2;i++)
{
if(s[i]!=s[len-i-1])
{
return false;
}
}
return true;
}
bool panduanzhishu(int n)//判断n是否为质数
{
for(int i=2;i*i<=n;i++)
{
if(n==2)
{
return true;
}
if(n%i==0)
{
return false;
}
}
return true;
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
for(int i=a;i<=b;i++)
{
if(panduanhuiwenshu(i)==1)
{
int m=panduanzhishu(i);
if(m==1)
{
printf("%d\n",i);
}
}
}
return 0;
}
感谢感谢感谢感谢感谢好心人指点!!
by CodingOIer @ 2024-09-13 17:27:38
@heathera 优化算法
by eatkeyboard @ 2024-09-13 17:33:16
用欧拉筛或埃氏筛预处理数据范围内的数字