当前位置: 首页 > news >正文

试除法判定质数算法总结

知识概览

质数的定义

在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数,或者叫素数。

质数的判定——试除法

暴力算法        时间复杂度O(n)

改进算法        时间复杂度O(\sqrt{n}) 

暴力算法:时间复杂度O(n)

算法模版

bool is_prime(int n)
{if (n < 2) return false;for (int i = 2; i < n; i++)if (n % i == 0)return false;return true;
}

优化算法:时间复杂度O(sqrt(n))

算法模版

bool is_prime(int n)
{if (n < 2) return false;for (int i = 2; i <= n / i; i++)if (n % i == 0)return false;return true;
}

例题展示

题目链接

活动 - AcWing系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。icon-default.png?t=N7T8https://www.acwing.com/problem/content/868/

题解

用试除法的改进版本可以解决,否则会超时。

代码

#include <iostream>
#include <algorithm>using namespace std;bool is_prime(int x)
{if (x < 2) return false;for (int i = 2; i <= x / i; i++)if (x % i == 0)return false;return true;
}int main()
{int n;cin >> n;while (n--){int x;cin >> x;if (is_prime(x)) puts("Yes");else puts("No");}return 0;
}

参考资料

  1. AcWing算法基础课
http://www.lryc.cn/news/274909.html

相关文章:

  • vuetify 回到顶部
  • Socket与TCP的关系
  • RKE安装k8s及部署高可用rancher之证书私有证书但是内置的ssl不放到外置的LB中 4层负载均衡
  • 使用爬虫爬取热门电影
  • 【unity小技巧】实现没有动画的FPS武器摇摆和摆动效果
  • C语言基础知识(6):UDP网络编程
  • 12月笔记
  • 三、C语言中的分支与循环—for循环 (6)
  • tolist()读取Excel列数据,(Excel列数据去重后,重新保存到新的Excel里)
  • ChatGPT大升级,文档图像识别领域迎来技术革新
  • 2023年全国职业院校技能大赛软件测试—测试报告模板参考文档
  • 【BCC动态跟踪PostgreSQL】
  • 汽车架构解析:python cantools库快速解析arxml
  • Vue 之 修饰符汇总
  • 如何通过内网穿透实现无公网IP远程访问内网的Linux宝塔面板
  • 综合跨平台全端ui自动化测试框架Airtest——AirtestIDE录制微信小程序脚本教学
  • 如何在ArcGIS Pro中指定坐标系
  • macOS 老版本系统恢复中出现“MacBook Pro无法与恢复服务器取得联系”
  • [C#]使用OpenCvSharp实现二维码图像增强超分辨率
  • 优化|流形优化系列(一)
  • torch.where()函数
  • 盖子的c++小课堂——第二十三讲:背包问题
  • k8s安装hostPath方式存储的PostgreSQL15
  • 51单片机之按键和数码管
  • 【Oracle】 - 数据库的实例、表空间、用户、表之间关系
  • ssm基于HTML5的交流论坛的设计与实现+vue论文
  • JDBC*
  • Zookeeper注册中心实战
  • 1-02VS的安装与测试
  • ctfshow——PHP特性