제목 정보가
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;
}