在"没有恐惧的C++:让你感觉聪明的初学者指南"一书中,在第(2)章:决策,决定中,您可以看到这段代码作为素数程序的一部分:
while (i<=sqrt(static_cast<double>(n))
Run Code Online (Sandbox Code Playgroud)
假设"i"被初始化为"2",并且"n"是用户的输入.
为什么我们要比较"n"的"sqrt"而不是"n"呢?
谢谢.
因为你不会得到任何因素> sqrt(n)的非素数因子(你会发现另一个因子较小).
这是一个非常糟糕的测试,将它写成:
while (i*i <= n)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
543 次 |
| 最近记录: |