我也卡了很久
by 初音ミク_Miku @ 2018-06-23 22:15:53
现在还没解决
by 初音ミク_Miku @ 2018-06-23 22:16:06
真的没人吗
by clkai @ 2018-06-24 14:10:11
```cpp
#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
int l,r,now = 2;
int Creatpalindrome(int n)
{
if (n<10){
switch(n){
case 2:now=3;return 2;
case 3:now=5;return 3;
case 5:now=7;return 5;
case 7:now=9;return 7;
case 9:now=10;return 11;
}
}
int wn = (int)(log(n*1.0)/log(10*1.0));
int gn = n/(int)(pow(10*1.0,wn));
int ret = 0;
switch (gn){
case 2:
case 4:
case 6:
case 8:
now = (gn+1)*(int)pow(10*1.0,wn);
ret = now*(int)pow(10*1.0,wn)+(gn+1);
++now;
return ret;
case 5:
now = 7*(int)pow(10*1.0,wn);
ret = now*(int)pow(10*1.0,wn)+7;
++now;
return ret;
}
int sumn = 0;
ret = n*(int)pow(10*1.0,wn);
n /= 10;
while (n)
{
sumn = sumn*10+n%10;
n /= 10;
}
++now;
return ret+sumn;
}
bool Isprime(int x)
{
for (int i=3; i*i<=x; i+=2)
{
if (x%i==0)
return false ;
}
return true;
}
int main()
{
cin>>l>>r;
for (int i=l; i<=r; )
{
i = Creatpalindrome(now);
if (i>=l&&i<=r&&Isprime(i))
{
cout<<i<<endl;
}
}
return 0;
}
#include<iostream>
using namespace std;
bool reserve(int k){
int a[10],i=0;
while (k>0){
a[i]=k%10;
k/=10;
i++;
}
for(int j=0;j<i;j++)if(a[j]!=a[i-j-1]){
return 0;
}
return 1;
}
bool length(int k){
if(k>=10&&k<100&&k!=11||k>=1000&&k<10000||k>=100000&&k<1000000||k>=10000000&&k<100000000){
return 0;
}
return 1;
}
bool prime(int k){
for(int i=3;i*i<=k;i+=2)if(k%i==0){
return false;
}
return true;
}
int main(int argc, char const *argv[]){
int a,b,cnt=0;
cin>>a>>b;
if(a%2==0){
cnt++;
}
for(int i=a+cnt;i<=b;i+=2){
if(reserve(i)&&length(i)&&prime(i)){
cout<<i<<endl;
}
}
return 0;
}
```
by JAMERES86 @ 2018-07-09 10:16:43
# 上面搜索下面暴力
by JAMERES86 @ 2018-07-09 10:17:13
有可能是空格
by JAMERES86 @ 2018-07-09 10:17:53