【发布时间】:2020-07-28 03:03:56
【问题描述】:
好吧,这个问题说明了一切,我还是会用一些代码来详细说明。简而言之:这两个代码中哪个更好? :
代码 1:
检查 num==2 和 num==1 ;)
if(num%2) {
checkPrime(num) //function definition not needed
}
else {
//not prime
}
代码 2:
检查 num==2 和 num==1 ;)
if(isPrime(num)) {
//prime
}
else {
//not prime
}
checkPrime和isPrime都不检查均匀度
【问题讨论】:
-
最好的方法是自己测量差异
-
这完全取决于你的
checkPrime或isPrime函数是如何实现的。如果是从2开始试划分,那差别就很小了。如果是其他一些对偶数需要很长时间的素数测试,那么添加检查会让事情变得更快。 -
关于“checkPrime 和 isPrime 都不检查均匀度”,你确定吗?这些功能是如何实现的?您是否应该只跳过(不测试)偶数?
标签: c++ performance primes