【题库】—— 深基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;
相关推荐
MediaTea7 小时前
AI 术语通俗词典:C4.5 算法
人工智能·算法
Navigator_Z7 小时前
LeetCode //C - 1033. Moving Stones Until Consecutive
c语言·算法·leetcode
WBluuue7 小时前
数据结构与算法:莫队(一):普通莫队与带修莫队
c++·算法
风筝在晴天搁浅8 小时前
n个六面的骰子,扔一次之后和为k的概率是多少?
算法
MATLAB代码顾问9 小时前
Python实现蜂群算法优化TSP问题
开发语言·python·算法
代码飞天9 小时前
机器学习算法和函数整理——助力快速查阅
人工智能·算法·机器学习
jiushiapwojdap10 小时前
LU分解法求解线性方程组Matlab实现
数据结构·其他·算法·matlab
笨笨饿10 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
纽扣66710 小时前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析
数据结构·算法·链表
消失的旧时光-194311 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法