代码求调(违规紫杉)
  • 板块灌水区
  • 楼主Junior_Young
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/5 14:28
  • 上次更新2024/1/5 19:41:12
查看原帖
代码求调(违规紫杉)
1202695
Junior_Young楼主2024/1/5 14:28

本站题 P7960 [NOIP2021] 报数

70pts,#8#9#10WA,发在题目讨论区没人回,求水帖子的大佬帮忙看一下。

#include<iostream>
#define AK 10000001
using namespace std;
int t,x,last_num;
bool flag[AK];
int next_num[AK];
bool hav7(int al)
{
	while(al)
	{
		if(al%10==7) return true;
		al/=10;
	}
	return false;
}
void enmrt7()
{
	for(int i=1;i<AK;i++)
	{
		if(flag[i]) continue;
		if(hav7(i))
		{
			for(int j=i;j<AK;j+=i)
			{
				flag[j]=1;
			}
		}
		else
		{
			next_num[last_num]=i;
			last_num=i;
		}
	}
}
int main()
{
	scanf("%d",&t);
	enmrt7();
	for(int i=1;i<=t;i++)
	{
		scanf("%d",&x);
		if(flag[x])
		{
			printf("-1\n");
		}
		else
		{
			printf("%d\n",next_num[x]);
		}
	}

	return 0;
}

原帖子

2024/1/5 14:28
加载中...