专栏文章

B3929 [GESP202312 五级] 小杨的幸运数 题解

题解参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@mip190an
此快照首次捕获于
2025/12/03 04:30
3 个月前
此快照最后确认于
2025/12/03 04:30
3 个月前
查看原文

B3929 [GESP202312 五级] 小杨的幸运数 题解

这题运用了埃氏筛的思想,标记完全平方数及其倍数。
上代码:
CPP
#include<bits/stdc++.h>
using namespace std;
int f[1111111],HHH=1001*1001;
int main()
{
	int a,n;
	cin>>a>>n;
	for(int i=a;i<=HHH;i++) if(int(sqrt(i))*int(sqrt(i))==i) for(int j=i;j<=HHH;j+=i) f[j]=1;//筛
	while(n--)
	{
		int x;
		cin>>x;
		if(f[x]) puts("lucky");//如果本身就是幸运数直接输出lucky
		else
		{
			while(!f[x]) x++;//自增,直到成为幸运数
			cout<<x<<endl;//输出最少次自增所得的幸运数
		}
	}
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...