zoukankan      html  css  js  c++  java
  • goj 回文素数

    Problem Description:

    131号是一个主回文,因为它是一个素数和一个回文(当向后读时,它是相同的数字)。编写一个程序,
    计算两个提供的数字a和b (5 <= a <b <= 10 ^ 8)范围内的主回文数; a和b都被认为在范围内。
    例如,范围5-120包含3个主要回文(5,7,11,101)。

    Input:

    输入包含多个案例。每个案例包含两个整数a和b。

    Output:

    对于每种情况,输出问题的答案。

    Sample Input:

    5 11
    5 120

    Sample Output:

    3
    4
    解题思路:这道题跟杭电hdu1431一样,链接-->hdu 1431 素数回文,只不过这里要求输出区间回文素数的个数。
    AC代码:
     1 #include<bits/stdc++.h>
     2 #define maxn 9999999
     3 using namespace std;
     4 bool isp[maxn];int a,b,num;
     5 bool is_palindrome(int n){//判断回文函数
     6     int sum=0,tmp=n;
     7     while(tmp){sum=sum*10+tmp%10;tmp/=10;}
     8     if(sum==n)return true;
     9     else return false;
    10 }
    11 int main(){
    12     memset(isp,true,sizeof(isp));
    13     isp[0]=isp[1]=false;
    14     for(int i=4;i<maxn;i+=2)isp[i]=false;
    15     for(int i=3;i*i<maxn;i+=2){//埃氏筛法
    16         if(isp[i]){
    17             for(int j=i*i;j<maxn;j+=2*i)isp[j]=false;
    18         }
    19     }
    20     while(cin>>a>>b){
    21         num=0;
    22         for(int i=a;i<=b;i++){
    23             if(i>=maxn)break;
    24             if(isp[i]&&is_palindrome(i))num++;
    25         }
    26         cout<<num<<endl;
    27     }
    28     return 0;
    29 }
    
    
  • 相关阅读:
    Java String 乱码
    HBase非原理性浅析
    git cherry-pick
    数据结构之队列
    数据结构之栈
    算法之简单排序
    数据结构之数组
    数据结构简介
    Java类型信息
    基数排序
  • 原文地址:https://www.cnblogs.com/acgoto/p/8985186.html
Copyright © 2011-2022 走看看