专栏文章

题解:P1217 [USACO1.5] 回文质数 Prime Palindromes

P1217题解参与者 19已保存评论 20

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
17 条
当前快照
1 份
快照标识符
@mip0qurf
此快照首次捕获于
2025/12/03 04:16
3 个月前
此快照最后确认于
2025/12/03 04:16
3 个月前
查看原文

题解:[USACO1.5] 回文质数 Prime Palindromes。

题意:

输出从 aabb 的所有不仅是质数,还是回文数的数字。

解法:

暴力枚举。
减小时长方法:
  • 所有数中除了 22,其他偶数都不是质数,数据范围没有 22,所以特判掉。
  • 5510810^8 范围内回文数比质数少,所以先判断是否是回文数,再判断是否是质数。

code

CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	long long a,b;
	cin>>a>>b;
	for(int i=a;i<=b;i++){
		if(i%2==0){//特判偶数
			continue;
		}
		int w=i,s=0;
		while(w!=0){//判断是否为回文数
			s=s*10+w%10;
			w/=10;
		}
		if(s!=i){
			continue;
		}
		int f=0;//判断是否为质数
		for(int j=2;j*j<=i;j++){
			if(i%j==0){
				f=1;
				break;
			}
		}
		if(f==0){
			cout<<i<<endl;
		}
	}
	
}

评论

20 条评论,欢迎与作者交流。

正在加载评论...