当前位置: 首页 > news >正文

东莞正规制作网站公司吗网站及推广

东莞正规制作网站公司吗,网站及推广,宠物医院网站开发,coreldraw前情介绍 今天遇到一个需求&#xff1a;找到一个数所有的质因数。 初步解决 先定义一个判断质数的函数&#xff1a; def is_Prime(number):i 2count 0while i < number:if number % i 0 :count 1i 1if count > 0:return Falseelse:return True 接着定义一个寻找质…

前情介绍

        今天遇到一个需求:找到一个数所有的质因数。

初步解决

        先定义一个判断质数的函数:

def is_Prime(number):i = 2count = 0while i < number:if number % i == 0 :count += 1i += 1if count > 0:return Falseelse:return True

        接着定义一个寻找质因数的函数:

def find_Prime_Factor(number):i = 2while i < number + 1:if(number % i == 0):if is_Prime(i):print(i , end=" ")i += 1

        ok ,搞定了

进一步分析

        这个程序可以是可以,但是至少有两处可以改进的地方:

        首先,判断质数要遍历到number,也就是时间复杂度为O(n),通过改变while循环的条件可以把遍历数目变为number/2,时间复杂度记为O(n/2)【其实时间复杂度还是O(n)】:

while i < number // 2 + 1:

        然后,记得之前有一个方法是遍历到平方根就可以了,这个时候只需要遍历到\sqrt{n},这个时候和上面的相比就有本质的区别了,时间复杂度为O(\sqrt{n}):

while (i < int(math.sqrt(number)) + 1):

        在这里需要说明的两点:

        1、必须要把平方根取整

        2、后面的“ + 1 ”必须有        

         最后,质数判断基本已经到了最极限的水平了,当然可能还有更好的,笔者没学习到,如果有大佬,欢迎补充。

        那就是求因数需要优化了,这个时候参考上面求质数的过程,我们是否也可以通过这几方面来求呢?答案是肯定的,在此附上快速求一个数所有因数的代码:

def find_factors(num):factors = []for i in range(1, int(num ** 0.5) + 1):if num % i == 0:factors.append(i)if num // i != i:factors.append(num // i)factors.sort()return factors

        整合到找质因数的函数也比较容易:

def find_Prime_Factor(number):i = 2# while i < number + 1:while i < int(number ** 0.5) + 1:if(number % i == 0):if is_Prime(i):print(i, end=" ")if num // i != i:if is_Prime(num // i):print(num // i , end=" ")i += 1

完结撒花

        可以看出,这个相对来说很基础,之所以记录下来是因为对【后面的“ + 1 ”必须有】的思考,为什么需要 + 1 呢?其实很简单,不加就会把平方根下的这个因数给遗漏掉,导致把一个🈴数误判为质数,这是不允许的。 

http://www.dinnco.com/news/91.html

相关文章:

  • 腾讯云wordpress安装教程win10最强优化软件
  • 做网站用小公司还是大公司好网站访问量查询工具
  • 重庆做网站好的公司域名怎么注册
  • 科技有限公司可以做网站建设吗郑州网络营销学校
  • 有没人做阿里巴巴网站维护的扬州seo
  • 网站建设加盟网络推广文案有哪些
  • 成都哪家公司做网站好企业推广的网站
  • 唐山网站快速排名提升郑州网络营销公司哪家好
  • 佛山新网站制作特色网站收录平台
  • 音乐网站设计外国青岛关键词排名提升
  • 网站建设方面的优劣势分析免费注册网址
  • 宁波网站建设与设计金字塔郑州高端网站制作
  • 西安网络推广外包关键词seo服务
  • 王爷太能作全文免费阅读百度竞价关键词怎么优化
  • 北京外贸网站制作公司国外服务器免费ip地址
  • 网站开发合同知识产权windows优化大师是系统软件吗
  • 微信官方商城小程序seo网站监测
  • 连云港高端网站建设深圳互联网公司50强
  • 动态网站中搜索用php怎么做代码网址浏览大全
  • 常用的seo网站优化排名北京网站快速排名优化
  • 微信商城小程序多少钱seo168小视频
  • 开发公司房产备案委托书郑州seo技术博客
  • 公司做网站花销会计分录seo网页优化工具
  • 手机自助网站建设专业营销推广团队
  • 个性化网站有哪些百度极速版下载安装
  • 响应式网站wordpress搜索引擎营销是什么
  • 长春好的做网站公司有哪些制作电商网站
  • 网站做任务领q币单页网站seo如何优化
  • c 做网站好嘛竞价网络推广托管
  • 网站个人主页怎么做亿速云