Python编程算法(python编程课程)

2023-11-20 03:02:41 数码极客 bianji01

 

python中有哪些简单的算法?

Python中的基础算法有以下几种:基础加减乘除算法:加法>>> 2 + 2;减法>>> 2 - 2;乘法>>> 2 * 2;除法>>> 2 / 2。第一种>>> 2 / 3 整型与整型相除,获取整数,条件是除数被除数都是整数;第二种>>> 2 // 3 双斜杠整除算法,只获取小数点前的部分整数值。例子1:>>> 2 ** 3;例子2; >>> -2 ** 3;例子3: >>> (-2) ** 3

python求质数的算法

很早 的一个 函数为大家分享了多种方法求质数python实现代码,供大家参考,具体内容如下题目要求是求所有小于n的质数的个数。根据定义循环判断该数除以比他小的每个自然数(大于1),如果有能被他整除的就不是质数:def countPrimes1(self, n)::type n: int:rtype: intif n<=2:return 0res=[]for i in range(2,n):flag=0 # 质数标志,=0表示质数for j in range(2,i):if i%j ==0:flag=1if flag==0:res.append(i)return len(res)利用定理:如果一个数是合数,那么它的最小质因数肯定小于等于它的平方根。所以判断一个数是否是质数,只需判断它是否能被小于它开根后的所有数整除。这样做的运算会少很多。def countPrimes2(self, n):if n<=2:return 0res=[]for i in range(2, n):flag=0for j in range(2, int(math.sqrt(i))+1):if i % j == 0:flag = 1if flag == 0:res.append(i)return len(res)利用定理:如果一个数是合数,那么它的最小质因数肯定小于等于它的平方根。我们可以发现只要尝试小于等于平方根的所有数即可。列举从 3 到根号x的所有数,还是有些浪费。比如要判断101是否质数,101的根号取整后是10,需要尝试的数是1到10。但是可以发现,对9的尝试是多余的。不能被3整除,必然不能被9整除……顺着这个思路走下去,其实,只要尝试小于根号x的质数即可。而这些质数,恰好前面已经算出来了,已经存在res中了。def countPrimes3(self, n):if n <= 2:return 0res = []for i in range(2, n):flag = 0for j in res:if i % j == 0:flag = 1if flag == 0:res.append(i)return len(res)希望对大家有帮助

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告