P1217回文质数,66分TLE求助
  • 板块题目总版
  • 楼主Qiqi_Hun
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/7/15 20:36
  • 上次更新2023/11/3 09:38:50
查看原帖
P1217回文质数,66分TLE求助
792077
Qiqi_Hun楼主2023/7/15 20:36

题目

题目描述
因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。

写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000,000)[a,b](5≤a<b≤100,000,000)(一亿)间的所有回文质数。

输入格式
第一行输入两个正整数 aa 和 bb。

输出格式
输出一个回文质数的列表,一行一个。

本人66分TLE代码

#include <bits/stdc++.h>
using namespace std;
int a,b;
bool isprime(int x)
{
	for(int i=2;i*i<=x;i++)
	{
		if(x%i==0)
		{
			return false;
		}
	}
	return true;
}
bool ispn(int n)
{
	int x=0,s=n;
	while(s>0)
	{
		x=x*10+s%10;
		s/=10;
	}
	if(x==n)
	{
		return true;
	}else
	{
		return false;
	}
}
int main()
{
	cin>>a>>b;
	for(int i=a;i<=b;i++)
	{
		if(i%2==0)
		{
			continue;
		}else if(isprime(i)&&ispn(i))
		{
			cout<<i<<endl;
		}
	}
	return 0;
}
2023/7/15 20:36
加载中...