社区讨论

三个超时66分求助

P1217[USACO1.5] 回文质数 Prime Palindromes参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@lo1isdmj
此快照首次捕获于
2023/10/22 21:44
2 年前
此快照最后确认于
2023/11/02 22:38
2 年前
查看原帖
CPP
#include<iostream>
#include<string>
using namespace std;
int main()
{
	int a, b;
	cin >> a >> b;
	if (a % 2 != 0 || a==2)
	{
		for (int i = a; i <= b; i+=2)
		{
			string x = to_string(i);
			int length = x.size();
			int test = 0;
			for (int j = 0; j <= length / 2; j++)
			{
				if (int(x[j]) != int(x[length - 1 - j]))
				{
					test = 1;
					break;
				}
			}
			if (test == 0)
			{
				int testt = 0;
				for (int j = 2; j <= i / 2; j++)
				{
					if (i%j == 0)
					{
						testt = 1;
						break;
					}
				}
				if (testt == 0)
				{
					cout << i << endl;
				}
			}
		}
	}
	else
	{
		a = a + 1;
		for (int i = a; i <= b; i += 2)
		{
			string x = to_string(i);
			int length = x.size();
			int test = 0;
			for (int j = 0; j <= length / 2; j++)
			{
				if (int(x[j]) != int(x[length - 1 - j]))
				{
					test = 1;
					break;
				}
			}
			if (test == 0)
			{
				int testt = 0;
				for (int j = 2; j <= i / 2; j++)
				{
					if (i%j == 0)
					{
						testt = 1;
						break;
					}
				}
				if (testt == 0)
				{
					cout << i << endl;
				}
			}
		}
	}

	
	system("pause");
	return 0;
}
我觉得已经很节省了,还是有三个超时,求问QAQ

回复

1 条回复,欢迎继续交流。

正在加载回复...