【发布时间】:2014-09-08 09:32:23
【问题描述】:
我必须计算一个数字的位数。
我将数字除以 10,直到得到 0。每次迭代都会递增计数器。
int num;
cin>>num;
while(num > 0)
{
counter++;
num = num / 10;
}
挑战不是使用任何循环或递归,只是一个if 语句。
有可能吗?
【问题讨论】:
-
递归函数怎么样?
-
@dolan,好主意!像!但在这种情况下也是禁止的:-(
-
@yaelaviv
log10(n)+1其中n是数字。例如,log10(1234) + 1是 4。 -
如果你不能使用递归,你应该在问题中说明。
-
@MarounMaroun,为什么是
+1?
标签: c++