【题库】—— 深基4.例13 质数口袋

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n,x;
long long sum=0;

int ans(int y)  
{
	for(int i=2; i<=sqrt(y); ++i) //判断是否是质数
	{
		if(y%i==0) 
		return 0;
	}
	return 1;
}

int main() 
{
	scanf("%d",&n);
	if(n<2)  //当n<2,此时无素数,输出0
	{
		printf("0\n");
		return 0;
	} 
	else if(n==2) //当n=2,有唯一素数2,输出2\n1\n
	{
		printf("2\n1\n");
		return 0;
	}
	for(int i=2; i<=n; ++i)  
	{

		if(ans(i)) 
		{
			printf("%d\n",i);
			sum+=i;
			x++;
		}
        if(sum+i>n) 
		{
			printf("%d\n",x);
			return 0;
		}
	}
	return 0;
}

也可在代码中加入,将所有偶数排除,减少代码运算量

cpp 复制代码
		if(i%2==0 && i!=2) 
		continue;
相关推荐
圣光SG5 小时前
Java操作题练习(七)
java·开发语言·算法
Cx330_FCQ7 小时前
Tmux使用
服务器·git·算法
拳里剑气8 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
ysa0510308 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
shwill1238 小时前
PID 算法(三)--- 增量 PID ↔ 单神经元 PID 等价映射
linux·算法
wabs66610 小时前
关于图论【卡码网110.字符串迁移的思考】
数据结构·算法·图论
hanlin0310 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
浮沉98711 小时前
二分查找算法例题(二)
算法
only-qi12 小时前
大模型Agent面试攻略:落地工程痛点、评估体系与Agentic RAG核心精讲
人工智能·算法·面试·职场和发展·langchain·rag
Gauss松鼠会13 小时前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结