标签:als sample font fine html 解题思路 sam name rip
131号是一个主回文,因为它是一个素数和一个回文(当向后读时,它是相同的数字)。编写一个程序, 计算两个提供的数字a和b (5 <= a <b <= 10 ^ 8)范围内的主回文数; a和b都被认为在范围内。 例如,范围5-120包含3个主要回文(5,7,11,101)。
输入包含多个案例。每个案例包含两个整数a和b。
对于每种情况,输出问题的答案。
5 11 5 120
3 4
解题思路:这道题跟杭电hdu1431一样,链接-->题解报告:hdu 1431 素数回文,只不过改成输出区间回文素数的个数,还要注意一点的就是输入的a有可能大于b,所以还要判断一下。
1 #include<bits/stdc++.h> 2 #define maxn 9999999 3 using namespace std; 4 bool prime1[maxn]; 5 int cnt,a,b,num; 6 bool prime2(int n) 7 { 8 int sum=0,tmp=n; 9 while(tmp){ 10 sum=sum*10+tmp%10; 11 tmp/=10; 12 } 13 if(sum==n)return true; 14 else return false; 15 } 16 int main() 17 { 18 memset(prime1,true,sizeof(prime1)); 19 prime1[0]=prime1[1]=false; 20 for(int i=4;i<maxn;i+=2)prime1[i]=false; 21 for(int i=3;i<=3163;i+=2){ 22 if(prime1[i]){ 23 for(int j=i*i;j<maxn;j+=2*i)prime1[j]=false; 24 } 25 } 26 while(cin>>a>>b){ 27 num=0; 28 for(int i=a;i<=b;i++){ 29 if(i>=maxn)continue; 30 if(prime1[i]&&prime2(i))num++; 31 } 32 cout<<num<<endl; 33 } 34 return 0; 35 }
标签:als sample font fine html 解题思路 sam name rip
原文地址:https://www.cnblogs.com/acgoto/p/8985186.html