专栏文章

P1217回文质数

P1217题解参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@miq6nfky
此快照首次捕获于
2025/12/03 23:49
3 个月前
此快照最后确认于
2025/12/03 23:49
3 个月前
查看原文
CPP
#include<bits/stdc++.h>
using namespace std;
int a,b;
int size(int x){
	int i=1;
	while(pow(10,i)<x) i++;
	return i;
}
int p(int x){
	int i;
	for(i=2;i*i<=x;i++){
		if(x%i==0) return i;
	}
	return 1;
}
void f(int x,int m,int n){
	if(m>n){
		if(x>=a&&x<=b&&p(x)==1) cout<<x<<endl;
		else return;
	}
	int i;
	if(m==0){
		for(i=1;i<=9;i+=2) f(x+i*pow(10,n)+i*pow(10,m),m+1,n-1);
	}
	if(m<n&&m>0){
		for(i=0;i<=9;i++) f(x+i*pow(10,n)+i*pow(10,m),m+1,n-1);
	}
	if(m==n){
		for(i=0;i<=9;i++) f(x+i*pow(10,m),m+1,n-1);
	}
}
int main(){
	cin>>a>>b;
	int i,la=size(a),lb=size(b);
	for(i=la-1;i<=lb+1;i++) f(0,0,i);
}

评论

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

正在加载评论...