我必须计算一个数字的位数。
我将数字除以 10,直到得到 0。每次迭代都会递增计数器。
int num;
cin>>num;
while(num > 0)
{
counter++;
num = num / 10;
}
挑战不在于使用任何循环或递归,而只是使用if
陈述。
是否可以?
计数器 = log(num) / log(10)
in c++:
#include <cmath>
....
counter = num == 0 ? 1 : log10(std::abs(num)) + 1;
你想要的是日志功能。
cplusplus--log10 http://www.cplusplus.com/reference/cmath/log10/
cplusplus--std::abs http://www.cplusplus.com/reference/cmath/abs/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)