不知道这两个代码有什么区别,第一个在洛谷没AC第二个AC了
#include
#include
int a[10],b[10];
int f(int n)
{
for(int i=2;i<sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int m(int n)
{
int i=0,j=0;
while(n!=0)
{
a[i]=n%10;
n/=10;
i++;
}
for(int k=i-1;k>=0;k--)
{
b[j]=a[k];
j++;
}
for(int l=0;lif(a[l]!=b[l])
return 0;
}
return 1;
}
int main ()
{
int n,sum=0;
scanf("%d",&n);
for(int i=11;i<=n;i++)
{
if(m(i)==1&&f(i)==1)
sum++;
}
printf("%d",sum);
return 0;
}
#include
int ss(int x)
{
for(int i=2;i<=x-1;i++)
if(x%i==0)
return false;
return true;
}
int hw(int x){
int t=0,m=0,a[15],b[15];
while(x!=0)
{
t++;
a[t]=x%10;
x/=10;
}
for(int i=t;i>=1;i--)
{
m++;
b[m]=a[i];
}
for(int i=1;i<=t;i++)
if(a[i]!=b[i])
return false;
return true;
}
int main()
{
int n,ans=0;
scanf("%d",&n);
for(int i=11;i<=n;i++)
if(hw(i)&&ss(i))
ans++;
printf("%d",ans);
return 0;
}
第一个判断素数中应该是i<=sqrt(n)