试除法判定质数算法总结

知识概览

质数的定义

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

质数的判定------试除法

暴力算法 时间复杂度

改进算法 时间复杂度

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

算法模版

cpp 复制代码
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))

算法模版

cpp 复制代码
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系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/868/

题解

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

代码

cpp 复制代码
#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算法基础课
相关推荐
阿里技术30 分钟前
Agent 评测:方法论与体系设计
大数据·人工智能·算法
cxr8281 小时前
大语言模型上下文缓存命中率测试全场景清单
人工智能·python·算法·缓存·语言模型·自然语言处理·llm
noipp1 小时前
推荐题目:洛谷 P13554 【MX-X15-T1】奶龙龙
c语言·数据结构·c++·算法·编程·洛谷
念风1 小时前
一阶低通滤波器系数的两种计算方法
算法
geovindu2 小时前
go: Enumeration Algorithm
开发语言·后端·算法·golang·枚举算法
退休倒计时2 小时前
【每日一题】LeetCode 287. 寻找重复数 TypeScript
算法·leetcode·typescript
奋发向前wcx2 小时前
y1,y2总复习笔记2 2026.7.15
java·笔记·算法
AI科技星2 小时前
《全域数学·工程应用大典》113–200讲完整总目录
数据结构·人工智能·算法·机器学习·线性回归·乖乖数学·全域数学
ttod_qzstudio2 小时前
【软考算法】软件设计师下午第四题算法总纲:从“直接放弃“到“稳稳拿分“
算法·软考
广州灵眸科技有限公司3 小时前
xfce桌面旋转说明:基于灵眸科技EASY-EAI-Nano-TB
网络·网络协议·tcp/ip·算法·php