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

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

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

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

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个数只需要判断两个数。

31520

懒惰算法—KNN

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

1.8K50

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

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

66210

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.4K20

漫画算法判断2乘方

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

36320

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

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

2.4K30

漫画:高效布隆算法

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小咖秀 , 作者 小小小咖

42420

漫画:高效布隆算法

转自: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。

43040

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 是不是非常简单?...过几天会有一篇我算法详细介绍,盼诸位批评指正,共同学习,共同进步。

1K60

Python数组使用_算法高效

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

52810

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算法原理简单

1K10

Android目前稳定和高效UI适配方案

Android适配核心问题有两个,其一,就是适配效率,即把设计图转化为App界面的过程是否高效,其二如何保证实现UI界面在不同尺寸和分辨率手机中UI一致性。...这两个问题都很重要,一个是保证我们开发高效,一个是保证我们适配成效;今天我们就这两个核心问题来聊一聊Android适配方案。...那么这个dp是如何计算呢? 我们都知道一个公式: px = dp(dpi/160) 系统都是通过这个来判断px和dp数学关系, 那么这里又出现了一个问题,dpi是什么呢?...我们可以说,通过dp加上自适应布局和weight比例布局可以基本解决不同手机上适配问题,这基本是原始Android适配方案。...这可以说是一个极好方案,因为它在宽高限定符适配基础上更进一步,并且解决了容错机制问题,可以说完美的达成了开发高效和适配精准两个要求。

1.6K20

Android 目前稳定和高效UI适配方案

Android适配核心问题有两个,其一,就是适配效率,即把设计图转化为App界面的过程是否高效,其二如何保证实现UI界面在不同尺寸和分辨率手机中UI一致性。...这两个问题都很重要,一个是保证我们开发高效,一个是保证我们适配成效;今天我们就这两个核心问题来聊一聊Android适配方案。 ?...那么这个dp是如何计算呢? 我们都知道一个公式: px = dp(dpi/160) 系统都是通过这个来判断px和dp数学关系, 那么这里又出现了一个问题,dpi是什么呢?...我们可以说,通过dp加上自适应布局和weight比例布局可以基本解决不同手机上适配问题,这基本是原始Android适配方案。...这可以说是一个极好方案,因为它在宽高限定符适配基础上更进一步,并且解决了容错机制问题,可以说完美的达成了开发高效和适配精准两个要求。

1.3K20

前端算法-岛屿最大面积 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 。

54810
领券