说我有号码12345678
是否有计算效率的方法来添加1 + 2 + 3 + 4 + 5 + 6 + 7 + 8并获得答案
理想情况下,我要避免分割和解析为String,因为我希望在可能的情况下提高效率
修改
这个问题的目的是找到一种计算速度更快的方法来确定一个数字是否可以被3整除,或者减少加载到模数的数量
有一种方法可以说明如果在数字中添加所有数字,则可以将结果除以3以检查它是否是一个因子。因此,通过这种方式,它不会检查12345678,而是检查36是否是一个因子
因此,将整数除以10,100等以及使用字符串将是反作用的
答案 0 :(得分:1)
无需解析为字符串。
int sum=0;
while(n>0)
{
sum += n%10; // add the last digit
n/=10; // remove the last digit.
}