【题库】—— 深基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;
相关推荐
CoovallyAIHub19 小时前
500M参数就能跑视觉语言模型?Moondream把VLM塞进了边缘设备
算法·架构·github
qq_4160187220 小时前
模板错误消息优化
开发语言·c++·算法
We་ct20 小时前
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置:二分查找实战
前端·算法·leetcode·typescript·二分
Sunshine for you20 小时前
C++中的对象池模式
开发语言·c++·算法
炽烈小老头20 小时前
【 每天学习一点算法 2026/03/25】在排序数组中查找元素的第一个和最后一个位置
学习·算法
刀法如飞20 小时前
AI时代,重温10大经典排序算法的思维
算法·排序算法·ai编程
啊我不会诶20 小时前
求LCA 倍增法
c++·算法·深度优先
CoderIsArt20 小时前
编译器构建中涉及的算法
数据库·算法
暮冬-  Gentle°20 小时前
编译器优化屏障使用
开发语言·c++·算法
云淡风轻~窗明几净20 小时前
关于TSP的海岸线猜想:SeaLine算法的逐层法(不同于逐点法)
数据结构·算法·动态规划·模拟退火算法