You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

询问遍历至sqrt(n)的isPrime方法的时间复杂度(Big O)

遍历至√n的isPrime方法时间复杂度分析

请问以下方法的时间复杂度(Big O)是多少?

boolean isPrime( num )
    i = 2
    while  i <= sqrt(num)
        if num % i == 0
            return false
        i += 1
    return true

我认为其时间复杂度为O(√n),这并非常见答案。

以下是表格用于阐明我的推理:

在该表格中,每当N变为原来的4倍时,迭代次数仅翻倍。

N迭代次数 = √N
42
164
648
25616
102432

为了与线性函数的行为形成对比,如果我们改为循环条件为while i <= num/2,则表格如下:

N迭代次数 = N/2
42
168
6432
256128
1024512

此时每当N变为原来的4倍时,迭代次数也变为原来的4倍,即运行时间与N成正比。

内容的提问来源于stack exchange,提问作者jazz2e10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:22:14