【题库】—— 深基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;
相关推荐
-dzk-几秒前
【动态规划】LC 152.乘积最大子数组
算法·动态规划
积流成海2 分钟前
一致性哈希原理与实现:分布式系统负载均衡
算法·负载均衡·哈希算法·哈希函数·盘子工具站
Nil20811 小时前
leetcode 118杨辉三角
算法·leetcode·职场和发展
wanderist.13 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.13 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_3077791313 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂13 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
光影少年14 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
HEJOO914 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
Code_Solitude14 小时前
c语言:递归
java·c语言·算法