首页 > 代码库 > 1.13.5

1.13.5

05:素数回文数的个数

描述

求11到n之间(包括n),既是素数又是回文数的整数有多少个。

输入一个大于11小于1000的整数n。输出11到n之间的素数回文数个数。样例输入

23

样例输出

1

提示回文数指左右对称的数,如:292,333。来源06计算概论课

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cmath>
 4 #include<algorithm>
 5 using namespace std;
 6 bool ss(int k)
 7 {
 8     for(int i=2;i<=sqrt(k);i++)
 9         if(k%i==0)return false;
10     return true;
11 }
12 bool hw(int k)
13 {
14     int w=k%10;
15     while(k/10>0)
16         k/=10;
17     if(w==k) return true;
18     return false;
19 }
20 int main()
21 {
22     int n,ans=0;
23     scanf("%d",&n);
24     for(int i=11;i<=n;i++)
25     {
26         if(ss(i)==true&&hw(i)==true)
27         ans++;        
28     }
29     printf("%d",ans);
30     return 0;
31 } 

 

1.13.5