#请各位大佬帮忙修改一下,多谢了!#
  • 板块题目总版
  • 楼主封禁用户
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/8/4 19:18
  • 上次更新2023/11/6 21:18:30
查看原帖
#请各位大佬帮忙修改一下,多谢了!#
363096
封禁用户楼主2020/8/4 19:18

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

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

输入格式 第 1 行: 二个整数 a 和 b .

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

输入输出样例 输入 5 500 输出 5 7 11 101 131 151 181 191 313 353 373 383 点击此处进入题目链接https://www.luogu.com.cn/problem/P1217

#include<bits/stdc++.h>
using namespace std;
int main()
{
	bool a;
	int i,b;
	cin>>i>>b;
	for(;i<=b;i++)
	{
		a=1;
		for(int j=2;j<=floor(sqrt(i));j++)
		{
			if(i%j==0)
			{
				a=0;
			}
		}
		if(a==1)
		{
			if(a/10==0)
			{
				cout<<i<<endl;
			}
			else if(a/10!=0&&a/100==0)
			{
				if(a/10==a%10)
				{
					cout<<i<<endl;
				}
			}
			else if(a/100!=0&&a/1000==0)
			{
				if(a/100==a%10)
				{
					cout<<i<<endl;
				}
			}
			else if(a/1000!=0&&a/10000==0)
			{
				if(a/1000==a%10&&(a/100)%10==(a/10)%10)
				{
					cout<<i<<endl;
				}
			}
			else if(a/10000!=0&&a/100000==0)
			{
				if(a/10000==a%10&&(a/1000)%10==(a/10)%10)
				{
					cout<<i<<endl;
				}
			}
			else if(a/100000!=0&&a/1000000==0)
			{
				if(a/100000==a%10&&(a/10000)%10==(a/10)%10)
				{
					if((a/1000)%10==(a/100)%10)
					{
						cout<<i<<endl;
					}
				}
			}
			else if(a/1000000!=0&&a/10000000==0)如果a是六位数
			{
				if(a/1000000==a%10&&(a/100000)%10==(a/10)%10)
				{
					if((a/10000)%10==(a/1000)%10)
					{
						cout<<i<<endl;
					}
				}
			}
			else if(a/10000000!=0&&a/100000000==0)如果a是七位数
			{
				if(a/10000000==a%10&&(a/1000000)%10==(a/10)%10)
				{
					if((a/100000)%10==(a/100)%10&&(a/10000)==(a/1000)%10)
					{
						cout<<i<<endl;
					}
				}
			}
		}
	}
	return 0;
}
2020/8/4 19:18
加载中...