首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基础算法练习200题13、判断质数

:【https://blog.csdn.net/feng8403000/category_11958599.html】  ----       为了帮助很多想搞算法但又害怕自己搞不定的孩子们,老师付准备了...200个入门的逻辑练习题,在这200个逻辑练习题下可以加强你们的基础算法能力,以次为基础当面对正式的算法题目的时候可以得心应手的面对。 ...题目: 输入一个数字n,判断这个数字是否是质数。 输入样例:5 输出样例:true 样例范围:1~10^10 题解: 这个题目不难,其实不可能出现超时。...一般的数字都能在百次循环内判断完毕。...(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。 (3)质数的个数是无限的。 (4)质数的个数公式π(n)是不减函数。

36820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Prime Palindromes质数回文数的判断方法

    回文数 怎么找出a和b之间的回文数?一个个判断? 有一个比较快的方法就是构造,因为根据回文数的性质,很容易构造出一定范围内的回文数。...一个简单的判断方法就是用数x除以2~x/2,如果都不能除尽,则说明x没有除了1和本身之外的因数,则为质数。...但还有另外一个更快的方法,可以跳过很多没必要判断的数。原理是:一个大于等于5的质数一定可以表示为6n+1或6n+5,即除以6的余数一定是1或5。...很容易证明,因为显然6n,6n+2,6n+3,6n+4都不是质数。 但形式为6n+1或6n+5的也不一定是质数。...所以只需要判断该数能否被6n+1或6n+5整除即可,即每6个数只需要判断两个数。

    34820

    最懒惰的算法—KNN

    总第77篇 本篇介绍机器学习众多算法里面最基础也是最“懒惰”的算法——KNN(k-nearest neighbor)。你知道为什么是最懒的吗?...该算法常用来解决分类问题,具体的算法原理就是先找到与待分类值A距离最近的K个值,然后判断这K个值中大部分都属于哪一类,那么待分类值A就属于哪一类。...这其实和我们生活中对人的评价方式一致,你想知道一个人是什么样的人,你只需要找到跟他关系最近(好)的K个人,然后看这K个人都是什么人,就可以判断出他是什么样的人了。...还是拿那个我们判断一个人是什么样子的人为例,如果选择较大的k值比如一个班的人,然后根据这一个班所有人的情况去预测这个班里面的某一个人是什么样子的,这样很明显是不准确的。...训练算法:KNN没有这一步,这也是为何被称为最懒算法的原因。 测试算法:将提供的数据利用交叉验证的方式进行算法的测试。 使用算法:将测试得到的准确率较高的算法直接应用到实际中。

    1.9K50

    判断对象状态的算法及GC算法

    要执行垃圾回收(GC),需要先判断对象是否还被引用,用通俗的话讲,就是需要判断对象是否还存在引用,那么如何判断呢?判断对象状态的算法有哪些呢?...0x01:引用计数算法 顾名思义,通过判断对象是否还被引用,来判定是否可以进行回收。当对象被引用则将引用次数+1,当不再引用则-1,引用次数为0,则代表没有对象引用。...这种算法的优点是:高效。缺点是:循环引用的情况无法有效回收(所谓循环引用:也就是A引用B,同时B也引用A),所以当前主流判断对象是否还被引用,并不采用该算法。...下面是基于以上两种常见的GC算法: 标记—清除算法:所谓标记-清除算法,就是进行遍历,筛选出可以回收的对象,做标记。这种算法的主要缺点是,标记清除之后,会产生很多碎片化的空间。...复制算法:如何避免出现很多碎片化的空间呢,于是出现了复制算法,将内存空间一分为二,每次只使用一半的空间,当使用完毕,则将还存活的对象复制到另外一半上面。这种算法的缺点是,每次内存的利用率只有一半。

    68410

    gbdt算法_双色球最简单的算法

    解释一下GBDT算法的过程 1.1 Boosting思想 1.2 GBDT原来是这么回事 3. GBDT的优点和局限性有哪些? 3.1 优点 3.2 局限性 4....解释一下GBDT算法的过程 GBDT(Gradient Boosting Decision Tree),全名叫梯度提升决策树,使用的是Boosting的思想。...它的基本思路是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。.../ML-NLP/Machine Learning/3.2 GBDT 代码补充参考for——小白: Python科学计算——Numpy.genfromtxt pd.DataFrame()函数解析(最清晰的解释...) iloc的用法(最简单) scikit-learn 梯度提升树(GBDT)调参小结(包含所有参数详细介绍) 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    1.5K20

    漫画算法:判断2的乘方

    题目:实现一个方法,判断一个正整数是否是2的乘方(比如16是2的4次方,返回True;18不是2的乘方,返回False)。要求性能尽可能高。 解法一: 创建一个中间变量Temp,初始值是1。...然后进入一个循环,循环中每次让Temp和目标整数比较,如果相等,则说明目标整数是2的乘方;如果不相等,则让Temp增大一倍,继续循环比较。当Temp大于目标整数时,说明目标整数不是2的乘方。...如果目标整数的大小是N,则此方法的时间复杂度是O(LogN)。 小灰的回忆到此结束...... 解法二: 非常有趣也非常简单的解法。...因为2的乘方都符合一个规律,即 N&N-1 等于 0,所以直接用这个规律判断即可。该算法时间复杂度是O(1)。 思考题: 实现一个方法,求出一个正整数转换成二进制后的数字“1”的个数。

    39220

    Python3 判断质数以及计算一个数字的质因数

    Python3 初学实践案例(11)判断质数以及计算一个数字的质因数 昨天晚上看到群里有人问如何计算质因数,我想了一下,实现了这个计算质因数的脚本。.../usr/bin/env python3 # -*- coding: UTF-8 -*- import sys # 判断一个数字是否为质数 def isPrime(n): if n 的数字') num = checkInput() arr = [] calc(num) echo(num, arr) 重点解析 判断数字是否为质数...然后我把计算质因数也改成了这种乘法运算,抛弃了原来的计算平方根的算法。 检查输入是否为数字 在第一步中,我们就需要用户输入一个数字。这里我们使用 python 自带的 input 方法获取用户的输入。...而在替换方面和 js 是差不多的。都是 replace 方法。 计算质因数本身没什么特别的,只是利用了一个数组来存放这个它的质因数。算法比较简单,就不做另外的说明了。

    2.6K30

    漫画:高效的布隆算法

    x星球经过和y星球的激战后,x星球已经无法居住,重建需要很长的时间,因此迁移到why星球上。 ? ? ps: 假设每个人ip代表不同的用户。 ?...每段均为最大值的ip为255.255.255.255,8位正好可以表示一个255大小的数字,因此每8位表示一个数字,ip一共是4段,正好32位。 ?...ps:f1,f2,f3代表3个不同的hash函数。箭头指向的地方代表通过hash函数计算出的hash值同时也是在位图中的位置。 ? ? ? ? ? ?...ps:另外一般情况下不能从布隆过滤器中删除元素,由于有一些字符串计算的hash值可能会相同,此时我们会想到,把每个位置存上对应的次数,删除元素的时候同时减1,前面我们说过会有误判的情况,所以要安全的删掉元素不是这么简单...end:本文主要讲解布隆过滤器的算法思想,具体的实现我们可以去看guava中的BloomFIlter。 文章转载自公众号 JAVA小咖秀 , 作者 小小小咖

    43620

    漫画:高效的布隆算法

    转自:JAVA小咖秀 作者:小小小咖 x星球经过和y星球的激战后,x星球已经无法居住,重建需要很长的时间,因此迁移到why星球上。 ? ? ps: 假设每个人ip代表不同的用户。 ?...每段均为最大值的ip为255.255.255.255,8位正好可以表示一个255大小的数字,因此每8位表示一个数字,ip一共是4段,正好32位。 ?...ps:f1,f2,f3代表3个不同的hash函数。箭头指向的地方代表通过hash函数计算出的hash值同时也是在位图中的位置。 ? ? ? ? ? ?...ps:另外一般情况下不能从布隆过滤器中删除元素,由于有一些字符串计算的hash值可能会相同,此时我们会想到,把每个位置存上对应的次数,删除元素的时候同时减1,前面我们说过会有误判的情况,所以要安全的删掉元素不是这么简单...end:本文主要讲解布隆过滤器的算法思想,具体的实现我们可以去看guava中的BloomFIlter。

    45040

    KNN:最容易理解的分类算法

    KNN是一种分类算法,其全称为k-nearest neighbors, 所以也叫作K近邻算法。该算法是一种监督学习的算法,具体可以分为以下几个步骤 1....第一步,载入数据,因为是监督学习算法,所以要求输入数据中必须提供样本对应的分类信息 2. 第二步,指定K值,为了避免平票,K值一般是奇数 3....K值为3时,绿色的点归类为红色,K值为5时,绿色的点归类为蓝色。由此可见,K值的选取是模型的核心因素之一。 除此之外,还有另外一个因素,就是距离的计算。...在scikit-learn中,使用KNN算法的代码如下 >>> from sklearn.neighbors import KNeighborsClassifier >>> X = [[0], [1],...3) >>> neigh.fit(X, y) KNeighborsClassifier(n_neighbors=3) >>> print(neigh.predict([[1.1]])) [0] KNN算法原理简单

    1.1K10

    前端算法-岛屿的最大面积 DFS(深度优先搜索) 质数计数

    1.岛屿的最大面积 给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。...1.遍历grid得到每个位置岛屿面积的最大值,返回一个maxArea 2.搜索函数-递归实现dfs函数 3.判断边界,若不在边界内,返回0;否则为1,递归计算上下左右是否为1,计算岛屿面积; 4.判断完每个位置需要将其置...else { dp[i][j] = Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + 1 //判断左上...j]) //更新最大边长 } } } return maxSlideLen ** 2 //求最大边长面积 }; 3.统计所有小于非负整数 n 的质数的数量...统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。

    60110

    Slope one:简单高效的推荐算法

    一般的协同过滤算法,首先是收集用户对事物(产品)的评分情况,一种直接对某本书,或者某个歌曲打分,另种是隐性的打分,比如商务系统中,购买了表示打2分,浏览了打1分,其他的0分。...最近邻集的运算相对来说成本比较高,尤其是大量数据的时候,今天和大家分享的是一种简单高效的协同过滤算法:Slope one 基本原理 用户 对事物A打分 对事物B打分 X 3 4 Y 2 4 Z 4 ?...同样的,Slope one算法也认为:平均值也可以代替某两个未知个体之间的打分差异,事物A对事物B的平均很差是:((3 - 4) + (2 - 4)) / 2 = -1.5,也就是说人们对事物B的打分一般比事物...A的打分要高1.5,于是Slope one算法就猜测Z对事物B的打分是4 + 1.5 = 5.5 是不是非常的简单?...过几天会有一篇我的算法的详细介绍,盼诸位批评指正,共同学习,共同进步。

    1.1K60

    Python数组的使用_算法高效性

    大家好,又见面了,我是你们的朋友全栈君。 如果我们需要一个只包含数字的列表,那么使用数组方式比 list 方式更高效。...而且数组还支持所有跟可变序列有关的操作,比如移除列表中的一个元素(.pop)、插入元素(.insert) 和 在列表末尾一次性追加另一个序列中的多个值(.extend)。...创建数组需要一个类型码,形如 array(‘d’),这个类型码是用来表示在底层实现的 C 语言的数据类型。一般我们用的 Python 底层是用 C 语言编写实现的 ,所以又称为 CPython。...通过这样的限制,即使序列很长,拥有很多数字,也能节省空间。 数组定义好类型,就不能存放非定义类型的数据。 Luciano Ramalho 举了一个示例来说明数组的高效性。...可以初始化,也可以不初始化直接创建一个空数组,形如: array(‘d’); fromfile() 方法的第二个入参用于指定数值最大范围; 可以看到从文件中读取到的数组与存入的数组是完全一致的。

    56710

    【JavaScript 算法】KMP算法:高效的字符串匹配

    KMP算法(Knuth-Morris-Pratt Algorithm)是一种用于在文本中高效查找子串的字符串匹配算法。...本文将详细介绍KMP算法的原理、实现及其应用。 一、算法原理 KMP算法的核心思想是在匹配过程中利用已经匹配的部分信息来避免重复匹配。...部分匹配表的构建 部分匹配表记录了每个位置之前的子串的最大前缀和后缀的长度,用于在发生失配时跳过重复匹配的字符。...四、总结 KMP算法是一种高效的字符串匹配算法,通过构建部分匹配表,在匹配过程中避免重复扫描,从而提高匹配效率。...理解和掌握KMP算法,可以有效解决字符串匹配问题,广泛应用于字符串查找、文本编辑、DNA序列分析和数据挖掘等领域。

    30510

    【算法学习】求得一定数值范围内的所有质数

    算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!...欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算法的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~ 0....引子 在面试过程当中,经常会遇到一些算法相关的问题,比如:求100以内的所有质数。 今天我们由这个问题入手,探讨一下算法的用处。 1、概念 质数(prime number)又称素数,有无限个。...质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 2、算法设计 假设要判断的数值为n,只需对除数进行遍历,从2到n-1即可。...能,在判断非质数条件成立时,可以使用 break 语句终止当前循环。 3、算法优化一 当前数值为非质数时,即结束当前层的for循环,提高执行效率。

    47720
    领券