Kmeow @ 2024-03-19 20:57:44
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>m>>n;
for(int i=m;i<=n;i++)
{
bool flag=1;
for(int j=m;j<i;j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
int j=0,c=i;
while(c>0)
{
j=j*10+c%10;
c=c/10;
}
if (i!=j) flag=0;
if(flag) cout<<i<<endl;
}
return 0;
}
测评界面(o_o ....?无语)
by qwertyuiop951357 @ 2024-03-19 21:05:28
@Kmeow flag
变量在质数检测之后立即被覆盖,没必要啊。应该在回文数检测之后设置 flag
,然后在质数检测之后再根据 flag
的值来决定是否输出该数。
by LYRT_Subway @ 2024-03-19 21:12:52
1、从奇数开始找,每次+2
2、没有偶数位的回文质数
by题解
如果你要暴力 这也是个好方法
而且你判断回文可以用数组 只要中间有一位不一样就可以break
具体代码实现 大概是这个思路 不保对
bool huiwen(int n)
{
int a[15]={0},n=1;
while(n!=0)
{
a[15]=n%10;
n/=10;
n++;
}
for(int i=0;i<n;i++)
{
if(a[i]!=a[n-1])
{
return 0;
}
}
return 1;
}
by CZY880201 @ 2024-03-19 21:18:41
除了2没有偶质数 判断即过