美文网首页
质数问题

质数问题

作者: 牵丝笼海 | 来源:发表于2018-07-01 16:13 被阅读19次

给定一个数n(n >=2),判断是否为质数

  1. 最简单的方法

若n不能被2至n-1之间的任意一个数整除则为质数

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

    return true;
}

2.降低一些复杂度

计算至n/2或sqrt(n),即可判断是否为质数

bool isPrime(int  n){
    if(n < 2)
        return false;
    if(n == 2 || n == 3)
        return true;

    int m = sqrt(n);
    int i = 2;
    for(; i<=m; i++){
        if(n%i == 0)
            return false;
    }

    return true;
}

相关文章

  • 试除法解决质数问题(Python3)

    浅析求解质数问题的一些方法 质数问题是算法中常见的和入门的问题,今天姑且用 "打印100以内所有质数" 这个问题,...

  • 质数问题

    给定一个数n(n >=2),判断是否为质数 最简单的方法 若n不能被2至n-1之间的任意一个数整除则为质数 2.降...

  • 质数问题

    生成n个质数的程序:

  • 质数问题

    问题 请判断101-200之间有多少个素数,且输出所有的素数。 问题分析 素数(质数)在大于1的自然数中,除了1和...

  • 质数因子问题

    在讨论区看到一种很精简的写法,利用了break和while循环;讨论区还提出了近一步优化的方法,尝试了一下用pyt...

  • leetcode初级之数学

    1. 计数质数 统计所有小于非负整数 n 的质数的数量。 1.1 迭代法 解题思路:数学问题,用到了两个质数判定性...

  • 有关质数的一些算法及C语言实现

    质数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 问题一...

  • Java 给循环命名

    在找质数的问题中,给循环命名,则问题很好解决,代码如下。

  • Swift 计数质数 - LeetCode

    题目:计数质数 描述:统计所有小于非负整数 n 的质数的数量。 案例1: 质数的定义:质数 方案一:判断质数 代码...

  • 埃筛

    埃筛 给定一个整数N,求出1~N之间的所有质数,称为质数的筛选问题。埃筛线筛都是用于解决这个问题的算法。埃筛的思想...

网友评论

      本文标题:质数问题

      本文链接:https://www.haomeiwen.com/subject/ptthuftx.html