当我遇到一个简单的问题时,我只是在欧拉解决了一些问题,没有。 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;
}
我不知道为什么,但这段代码比预期花费的时间多得多。如何优化呢?我的许多程序花费了很多时间来完成执行而不是预期......
答案 0 :(得分:7)
while(!num/10<10)
是你的问题。
你要将数字除以10;
测试也应该是&lt; 1
尝试
while(!(num/10<1))
或
while(num/10 > 0)