社区讨论

p1217超时求助

学术版参与者 2已保存回复 10

讨论操作

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

当前回复
9 条
当前快照
1 份
快照标识符
@m631nje6
此快照首次捕获于
2025/01/19 11:14
去年
此快照最后确认于
2025/11/04 11:19
4 个月前
查看原帖

我的代码已经改到我的极限了,但最后一个测试点还是超时!那个测试点1.20s/44.61MB!请各位大佬帮忙看看!!!
CPP
#include<iostream>
#include<string>
#include<vector>
using namespace std;
const int maxx=100000003;
vector<int> kkks;
vector<bool> kkk(maxx,1);
void ss(int b)
{
	int cnt=0;
	kkk[0]=0;
	kkk[1]=0;
	for(int i=2;i<=b;i++)
	{
		if(kkk[i])
		{
			kkks.push_back(i);
		}
		for(int j=0;j<kkks.size()&&i*kkks[j]<=b;j++)
		{
			kkk[i*kkks[j]]=0;
			if(i%kkks[j]==0)
			{
				break;
			}
		}
	}
	return;
}
void hw(int a)
{
	string s1,s2;
	s1=to_string(a);
	s2="";
	for (int i=s1.size()-1; i>-1;i--)
	{
		s2.push_back(s1[i]);
	}
	if(s1==s2)
	{
		if(kkk[a])
		{
			cout<<a<<endl;
		}
	}
	return;
}
int main()
{
	int n,m;
	cin>>n>>m;
	ss(m);
	for(int i = n; i <= m; i++)
	{
		hw(i);
	}
	return 0;
}
谢谢大家!!!

回复

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

正在加载回复...