您当前的位置: 首页 >  Python

Better Bench

暂无认证

  • 1浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Leetcode刷题Python】改进的算法,高效求一个数的因子

Better Bench 发布时间:2022-09-04 12:02:58 ,浏览量:1

1 思路

不用全部遍历,只遍历1到根号(n)的范围即可。 当i是可以整除的,用n/i得到的是相对另一个因子。 时间复杂度 O ( n 1 / 2 ) O(n^{1/2}) O(n1/2)

2 实现
import math
def low_fac(n):
    ans = []
    for i in range(1,int(math.sqrt(n))):
        
        if n%i==0:
            if i*i>n:
                ans.append(i)
            t = int(n/i)
            if t!=i and t*t>n:
                ans.append(t)
    return ans 
关注
打赏
1665674626
查看更多评论
立即登录/注册

微信扫码登录

0.0390s