Xinshoucun - 재귀 프로 시저 기능 -P1217 [USACO1.5] 회문 소수 프라임 회문

제목 정보가
151이므로 151 그래서 상동 소수이고, 소수 양 (오른쪽 오른쪽 왼쪽 볼에 동일 왼쪽부터) 회문이다.

범위 [A, B] (5 <= A <B <= 100,000,000) 모두 회문 기질 (일억)를 발견하는 프로그램을 작성;

입력 및 출력 형식
입력 형식 :

라인 1 : 두 정수 a와 b.

출력 형식 :

출력 회문 소수, 한 줄에 하나의 목록입니다.

입력 출력 샘플
입력 샘플 # 1 :

5 (500)

출력 샘플 # 1 :

. 5
. 7
. 11
(101)
131는
151
181
191
313
353
373
383
----------------
아이디어 프라임 분석 회문 상영

#include <bits/stdc++.h>
using namespace std;

bool book[100000001];
void prime(int b) { //用埃氏筛法生成质数表
    
    memset(book, true, sizeof(book));//初始化,默认全部都是质数
    book[1]=false;//1 不是素数
    int n=sqrt(b);
    for (int i=2;i<=n;i++) {
        if (book[i]) {//质数的倍数不是质数,把所有质数的倍数全部设为false,如2的倍数4,3的倍数9 
            
            for (int j=2;j<=b/i;j++)
                book[i*j]=false;  
        }
    }
}


bool hws(int num) {//回文数判断

    int tmp=num,ans=0;
    while (tmp!=0) {
        ans=ans*10+tmp%10;
        tmp/=10;
    }
    if (ans==num)
        return true;
    else
        return false;
}

int main() {
    int a,b;
    cin>>a>>b;
    if (b>=10000000)
        b=9999999;

    prime(b);

    if(a>b)
        return 0;

    if (a%2==0) a++;
    for (int i=a;i<=b;i+=2) {
        if (book[i] && hws(i))
            cout<<i<<endl;
    }
    return 0;
}
게시 된 108 개 원래 기사 · 원 찬양 2 · 조회수 2,041

추천

출처blog.csdn.net/zqhf123/article/details/104455180