05:素数回文数的个数
-
总时间限制:
- 1000ms 内存限制:
- 65536kB
-
描述
-
求11到n之间(包括n),既是素数又是回文数的整数有多少个。
输入
- 一个大于11小于1000的整数n。 输出
- 11到n之间的素数回文数个数。 样例输入
-
23
样例输出
-
1
提示
- 回文数指左右对称的数,如:292,333。 来源
- 06计算概论课
-
1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<cmath> 5 using namespace std; 6 int ans[10001]; 7 int now; 8 int tot; 9 int vis[10001]; 10 int main() 11 { 12 int n; 13 cin>>n; 14 for(int i=2;i<=sqrt(n+0.5);i++) 15 { 16 if(vis[i]==0) 17 { 18 for(int j=i*i;j<=n;j=j+i) 19 vis[j]=1; 20 } 21 }//筛法求素数 22 for(int i=11;i<=n;i++) 23 { 24 if(vis[i]==1) 25 { 26 continue; 27 } 28 else 29 { 30 int t=i; 31 int g=t%10; 32 t=t/10; 33 int s=t%10; 34 if(t/10==0) 35 { 36 if(g==s) 37 tot++; 38 } 39 else 40 { 41 t=t/10; 42 int b=t%10; 43 if(g==b) 44 tot++; 45 } 46 47 } 48 } 49 cout<<tot; 50 return 0; 51 }