xiongty2024 @ 2023-10-04 17:50:06
#include<bits/stdc++.h>
using namespace std;
int n,m,wei1,t,s,a[10],b[10];
bool pd(int x){
if(x<=1)
return false;
for(int i=2;i*i<=x;i++)
if(x%i==0)
return false;
return true;
}
int main()
{
int i,j;
cin>>n>>m;
for(i=n;i<=m;i++){
if(pd(i)){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
wei1=0;
t=i;
while(t>0){
a[++wei1]=t%10;
t/=10;
}
for(i=wei1;i>=1;i--)
b[wei1-i+1]=a[i];
for(i=1;i<=wei1;i++)
s=s*10+b[i];
if(i==s){
cout<<i<<endl;
}
}
}
return 0;
}
TLE,不知道怎么优化
by XuYueming @ 2023-10-04 17:59:48
你内层循环为什么要对 i
操作呢
by xiongty2024 @ 2023-10-04 18:41:30
#include<bits/stdc++.h>
using namespace std;
int n,m,wei1,t,s,a[10],b[10];
bool pd(int x){
if(x<=1)
return false;
for(int i=2;i*i<=x;i++)
if(x%i==0)
return false;
return true;
}
int main()
{
int i,j;
cin>>n>>m;
for(i=n;i<=m;i++){
if(pd(i)){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
wei1=0;
t=i;
while(t>0){
a[++wei1]=t%10;
t/=10;
}
for(j=wei1;j>=1;j--)
b[wei1-j+1]=a[j];
for(j=1;j<=wei1;j++)
s=s*10+b[j];
if(i==s){
cout<<i<<endl;
}
}
}
return 0;
}
11分,有几个WA