【发布时间】:2013-06-02 10:07:38
【问题描述】:
我正在解决欧拉问题。 10 要求找到所有低于 200 万的素数之和。
我在使用 sqrt 和 pow 函数时得到了不同的结果。
使用sqrt 给出正确答案,加上使用 pow 函数需要更多时间。这是我的代码。
for(sum=0,i=3;i<=2000000;i+=2)
{
for(j=3;j<=sqrt(i);j++)
if(i%j==0)
break;
if(j>sqrt(i))
sum+=i;
}
sum+=2;
std::cout << "\nSum = " << sum;
【问题讨论】:
-
您如何使用
pow?向我们展示您的代码。 -
那么
pow()有什么问题? -
-
您的代码缺少两对花括号和一个
break语句。pow或sqrt,无论哪种方式,您都会得到错误的值。 -
另外你什么也没问,你的每个程序给出什么结果?