首页 > 代码库 > 05:素数回文数的个数

05:素数回文数的个数

描述

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

输入

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

样例输入

23

样例输出

1

  提示回文数指左右对称的数,如:292,333。

来源

  06计算概论课

代码

 1  2 using namespace std;
 3 bool sunum(int a)
 4 {
 5     for(int i=2;i<=sqrt(a);i++)
 6     {
 7         if(a%i==0) return 0;
 8     }
 9     return 1;
10 }
11 bool huinum(int a)
12 {
13     int b=a/100+a%100/10*10+a%10*100;
14     if(a==b) return 1;
15     else return 0;
16 }
17 int main()
18 {
19     int n,s=1;
20     cin>>n;
21     for(int i=12;i<=n;i++)
22         if(sunum(i)&&huinum(i)) s++;
23     printf("%d",s);
24     return 0;
25 }

 

05:素数回文数的个数