专栏文章
题解:P1217 [USACO1.5] 回文质数 Prime Palindromes
P1217题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mip18ke3
- 此快照首次捕获于
- 2025/12/03 04:30 3 个月前
- 此快照最后确认于
- 2025/12/03 04:30 3 个月前
P1217 题解:
主要思路:
- 循环判断区间 中的回文质数。
因为 至 中的回文质数只到 ,所以如果 ,要将 设为 来优化。
- 因为回文数数量少于质数,所以优先判断回文,再判断质数。
代码实现:
- 输入 的值。
- 定义判断质数的函数 判断质数。
- 用字符串 函数判断回文数。
- 循环判断并输出结果。
AC code:
CPP#include <bits/stdc++.h>
using namespace std;
int a,b;
bool prime(int n){
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
return false;
}
}
return true;
}//质数判断
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>a>>b;
if(a==2){
cout<<2<<endl;
}//特判
if(a%2==0){
a++;
}//偶数不可能为质数
b=min(9999999,b);//修改 b 的值
for(int i=a;i<=b;i+=2){
//判断回文数
string s,t;
s=to_string(i);
t=s;
reverse(s.begin(),s.end());
if(t==s){
if(prime(i)){
cout<<i<<endl;
}
}
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...