Project Euler 16的简单代码优化

时间:2014-01-26 09:09:18

标签: c++ debugging

当我遇到一个简单的问题时,我只是在欧拉解决了一些问题,没有。 16,我写了一个简单的程序。

#include<iostream>
#include<math.h>
using namespace std;

int main()
{
    unsigned long long num = pow(2,15);
    int sum=0;
    int rem,k=10;
    while(!num/10<10)
    {
        rem = num%10;
        sum+=rem;
        num=num/10;
    }
    sum+=num;
    cout<<"the sum of digits is "<<sum;
    return 0;
}

我不知道为什么,但这段代码比预期花费的时间多得多。如何优化呢?我的许多程序花费了很多时间来完成执行而不是预期......

1 个答案:

答案 0 :(得分:7)

while(!num/10<10)

是你的问题。

你要将数字除以10;

测试也应该是&lt; 1

尝试

while(!(num/10<1))

while(num/10 > 0)