C++质数的那些事(判断指数、区间筛质数、互质等等)

质数的定义:若一个正整数除了1和它自身之外不能被任何自然数整除,则该数称为质数,也叫素数。否则为合数

质数的性质:质数的分布较为稀疏,对于一个足够大的数S,不超过S的质数大约有\frac{N}{InN}个,也就是说每InN个数约有一个质数,

一、判断一个整数是否是指数

代码:

#include<iostream>

using namespace std;

//判断传入整数是否为质数的自定义函数
bool isprime(int num)
{
    //特殊质数2单独判断
	if(num==2)
	    return true;

	//偶数与特殊的数进行过滤
	if(num%2==0 || num<2)
	    return false;

	else
        {
		for(int i=3;i*i<=num;i+=2)
		{
			if(num%i==0)
			{
				return false;
			}
		}
		return true;
	}
}
int main()
{
	int x;cin>>x;

	//自定义函数isprime(x)
	//整数x是质数返回true
	//整数x不是质数返回false
	if(isprime(x))
        {
		cout<<"Yes";
        }
	else
        {
	    cout<<"No";
        }
	return 0;
}

二、筛出给定区间的质数

代码(欧拉筛(线性筛)):

#include<iostream>
#include<cstring>

const int N=1e4+10;

using namespace std;

bool ss[N];

int main()
{
    //筛选出[0,n]区间的素数; 
	int n;cin>>n;
    int pr[N];
	int cnt=0;
	
	//先初始化所有数都是素数 
    memset(ss,true,sizeof(ss));
    
    //排除0,1; 
    ss[0]=ss[1]=false;
    
    for(int i=2;i<n;i++) 
	{
	    
    //选出素数
      if(ss[i]) pr[cnt++] = i;    
      
      for(int j=0;j<cnt&&pr[j]*i<=n;j++)
	  {
	      
    //筛出非素数
      ss[pr[j]*i]=false;      
      
    //重复筛选,跳出循环
      if(i%pr[j]==0) break; 
      }
    }
    for(int i=0;i<=n;i++) 
	if(ss[i]) cout<<i<<" "; 
	
	return 0;
} 

三、判断两个整数是否互质

代码:

#include<iostream>
#include<cstring>

const int N=1e4+10;

using namespace std;

bool ss[N];

int gcd(int a,int b)
{
	return b ? gcd(b, a % b) : a;
}

bool coprime(int a, int b) 
{
	return gcd(a, b) == 1;
}

int main()
{
    int x,y;cin>>x>>y;
    if(coprime(x,y))
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;

	return 0;
}

代码会随个人学习进行持续更新,谢谢您的观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/648481.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试的测试流程与注意事项

软件测试流程 渗透测试是一种重要的软件测试技术&#xff0c;通过对系统进行模拟攻击和漏洞评估&#xff0c;帮助组织发现和修复潜在的安全风险&#xff0c;提高系统的安全性和稳定性。在进行渗透测试时&#xff0c;需要注意合法授权、技术能力、安全意识和报告质量等方面的问…

简单多状态 dp 问题

11. 按摩师&#xff08;easy&#xff09; 解法&#xff08;动态规划&#xff09;&#xff1a; 图解&#xff1a; C 算法代码&#xff1a; class Solution { public:int massage(vector<int>& nums) {// 1. 创建⼀个 dp 表// 2. 初始化// 3. 填表// 4. 返回值int n n…

用C#调用SAP 的WebServices接口

文章目录 用C#调用SAP 的WebServices接口创建C#的项目添加窗体添加引用在表单的装载事件里编写代码运行结果SAP的RFC函数 用C#调用SAP 的WebServices接口 创建C#的项目 添加窗体 添加引用 在表单的装载事件里编写代码 using System; using System.Collections.Generic; using …

在Nano上部署yolov5

确认镜像版本为JetPack4.4.1&#xff08;L4T 32.4.4&#xff09;以上版本 下载链接下载pytorchnvidia docker镜像&#xff08;pytorch1.6torchvision0.7.0&#xff09;yolov5opencv4.4.0 1. 在已经部署了镜像的机器上获取镜像   1.1 获取镜像名     docker images   …

ssm招聘信息管理系统-计算机毕业设计源码78049

摘 要 由于数据库和数据仓库技术的快速发展&#xff0c;招聘客户管理系统建设越来越向模块化、智能化、自我服务和管理科学化的方向发展。招聘客户系统对处理对象和服务对象&#xff0c;自身的系统结构&#xff0c;处理能力&#xff0c;都将适应技术发展的要求发生重大的变化。…

265 基于matlab的粒子群优化分数阶灰色预测模型

基于matlab的粒子群优化分数阶灰色预测模型&#xff0c;以误差结果为目标进行预测&#xff0c;输出多个预测结果。并输出迭代曲线。程序已调通&#xff0c;可直接运行。 265 分数阶灰色预测 粒子群优化算法 - 小红书 (xiaohongshu.com)

Mac | macOs系统安装Monuty解决外接u盘ntfs读写问题

问题 mac电脑的macOs系统无法将文件读写入外接u盘或硬盘中&#xff1b; 解决方案 安装Monuty 官网&#xff1a;mounty官网 下载软件 安装其他配置 macbook:~ uwe$ brew install --cask macfuse macbook:~ uwe$ brew install gromgit/fuse/ntfs-3g-mac macbook:~ uwe$ brew…

移动云主机ECS搭建Kubernetes集群:详细步骤与指南

目录 云主机 ECS&#xff1a;云计算的强大引擎什么是云主机ECS&#xff1f;为何选择云主机ECS&#xff1f; 使用移动云ECS进行Kubernetes集群搭建1. 环境准备2. 安装步骤2.1 在每一个节点上执行的操作2.1.1 系统准备2.1.2 安装Docker2.1.3 安装Kubernetes的安装组件 2.2 在Mast…

MyBatis中的Where标签:提升你的SQL查询效率

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 理解MyBatis的Where标签 MyBatis是一款优秀的持久层框架&#xff0c;它提供了许多强大的标签来帮助编写更优雅、高效的SQL语句。其中&#xff0c;<where>标签是使用频率极高的一个&#xff0c;它能够自动处理…

自反馈 Transformer:一种针对真实世界胰腺神经内分泌肿瘤数据的多标签诊断模型

文章目录 Self-feedback Transformer: A Multi-label Diagnostic Model for Real-World Pancreatic Neuroendocrine Neoplasms Data摘要方法实验结果 Self-feedback Transformer: A Multi-label Diagnostic Model for Real-World Pancreatic Neuroendocrine Neoplasms Data 摘…

录屏软件免费版有哪些?3款软件实现一站式录制

录屏软件免费版有哪些&#xff1f;在数字化时代的浪潮中&#xff0c;录屏软件已然成为现代生活与工作的得力助手。它们不仅帮助我们轻松捕捉屏幕上的精彩瞬间&#xff0c;还提供了丰富的编辑和分享功能。无论是教学演示、游戏直播还是日常记录&#xff0c;这些软件都能满足用户…

【方法】ZIP压缩文件的密码如何设置和取消?

ZIP是一种常见的压缩文件格式&#xff0c;今天来分享一下&#xff0c;ZIP压缩文件如何设置密码保护&#xff0c;以及如何取消密码&#xff0c;不清楚的小伙伴一起来看看吧&#xff01; 设置ZIP文件密码&#xff1a; 想要给ZIP压缩包设置密码&#xff0c;需要用到支持ZIP格式的…

前端开发工程师——webpack

一.环境准备 npm init -y npm i webpack webpack-cli -D 打包命令 npx webpack ./src/main.js --modedevelopment //development开发模式 //production生产模式 npx webpack 直接运行就行 二.加载器loader 在less/stylus/css/sass/images中添加适当的样式 例如&#xff1…

使用MyBatis进行批量新增更新操作 ON CONFLICT

1.数据库增加uniques 2.mybatis <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace"co…

社交网络安全:保护用户数据的Facebook实践

在数字化时代&#xff0c;社交网络安全成为了人们关注的焦点之一。作为全球最大的社交平台之一&#xff0c;Facebook一直在致力于保护用户数据安全和隐私。本文将探讨Facebook在社交网络安全方面的实践&#xff0c;以及它所采取的措施来保护用户数据的安全性。 1. 数据加密与隐…

Mysql搭建主从同步,docker方式(一主一从)

服务器&#xff1a;两台Centos9 用Docker搭建主从 使用Docker拉取MySQL镜像 确保两台服务器都安装好了docker 安装docker请查看&#xff1a;Centos安装docker 1.两台服务器都先拉取mysql镜像 docker pull mysql 2.我这里是在 /opt/docker/mysql 下创建mysql的文件夹用来存…

找出缺失的观测数据

代码实现&#xff1a; 在缺失的 n 个观测数据中&#xff0c;有 y 个观测数据是 x1&#xff0c;其余观测数据都是x int* missingRolls(int *rolls, int rollsSize, int mean, int n, int *returnSize) {int m rollsSize;int sum mean * (n m);int missingSum sum;for (int i…

Kibana(一张图片胜过千万行日志)

Kibana&#xff08;一张图片胜过千万行日志&#xff09; Kibana是一个开源的分析和可视化平台&#xff0c;设计用于和Elasticsearch一起工作。 你用Kibana来搜索&#xff0c;查看&#xff0c;并和存储在Elasticsearch索引中的数据进行交互。 你可以轻松地执行高级数据分析&a…

修改组件库源码来获得符合需求的组件

项目需求多种多样&#xff0c;会出现开源组件库中的组件无法满足需求或者有 bug 的情况&#xff0c;可以区分以下情况&#xff0c;进行相应的处理。 以下示例以在 Vue2 中使用 Ant Design Vue 进行讲解。 样式修改 局部修改 这里我们以组件 Button 按钮为例&#xff0c;该组…

Python脚本必加代码:99%的程序员都忽视了这个细节!

文章目录 一、初识 if __name__ __main__二、__name__ 和 __main__ 是什么&#xff1f;三、实战讲解四、实际应用场景测试代码提高代码可重用性避免不必要的执行 五、深入理解和更多用法使用 argparse 解析命令行参数使用 unittest 进行单元测试使用 multiprocessing 创建子进…