这段代码定义了一个判断整数是否为质数的函数 `is_prime`。它先排除小于等于1的数,然后从2开始检查到平方根,如果找到能整除的因子就返回0(非质数),否则返回1(质数)。 - 函数逻辑是正确的,但注意在循环中 `i*i<=n` 可能对很大的 `n` 导致整数溢出,因为 `i*i` 的结果可能超过 `int` 的范围。可以考虑将条件改为 `i <= n/i` 来避免溢出。 - 另外,函数没有处理输入为负数的情况,虽然 `n<=1` 已经覆盖了,但可以思考是否需要对负数有更明确的处理。
Copy this url:
QR-code: