后三个点WA了,求助神犇!!
查看原帖
后三个点WA了,求助神犇!!
439563
§durance®旋律楼主2023/10/6 10:22
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int num1[10000001],num2[10000001],num3[10000000],judge[10000001],n,x,sum1,sum2;
void judge1()
{
	for(int i=1;i<=10000000;i++)
		{
			string s=to_string(i);		
			for(int j=0;j<s.size();j++)
			{
				if(s[j]=='7') 
				{
					judge[i]=1;
					sum1++;
					num1[sum1]=i;
				}
			}
		}
}
void judge2()
{
	for(int i=1;i<=sum1;i++)
		{
			int j=2;
			while(num1[i]*j<=10000000)
			{
				judge[num1[i]*j]=1;
				j++;
			}
		}
}
int main()
{
	cin>>n;
	judge1();
	judge2();
	for(int i=1;i<=10000000;i++)
	{
		if(judge[i]==0)
		{
			sum2++;
			num2[sum2]=i;
		}
	}
	for(int i=1;i<sum2;i++) num3[num2[i]]=num2[i+1];
	while(n--)
	{
		cin>>x;
		if(judge[x]||x==num2[sum2]) cout<<-1<<endl;
		else cout<<num3[x]<<endl;				
	}
	return 0;
}
2023/10/6 10:22
加载中...