试除法判定质数算法总结

知识概览

质数的定义

在大于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算法基础课
相关推荐
Aurora@Hui8 小时前
FactorAnalysisTool 因子分析工具
人工智能·算法·机器学习
wen__xvn8 小时前
基础算法集训第06天:计数排序
数据结构·算法·leetcode
(; ̄ェ ̄)。8 小时前
机器学校入门(十三)C4.5 决策树,CART决策树
算法·决策树·机器学习
Ll13045252988 小时前
Leetcode哈希表篇
算法·leetcode·散列表
独自破碎E8 小时前
【字节面试手撕】大数加法
java·算法
鱼跃鹰飞8 小时前
LeetCode热题100: 49.字母异位词分组
java·数据结构·算法·leetcode
myloveasuka9 小时前
3-8 译码器(正式型号74LS138、 74HC138、74HCT138 等))
笔记·算法·计算机组成原理·硬件
wen__xvn9 小时前
基础算法集训第17天:二分查找
算法·leetcode·职场和发展
myloveasuka9 小时前
MREQ̅ 信号
笔记·算法·计算机组成原理
亲爱的非洲野猪9 小时前
动态规划进阶:区间DP深度解析
算法·动态规划