我在使算法对循环中使用的数字之和进行计数时遇到问题。
让我概述一下基本原则:
1 2 3 4 5 6 7 8 9 = 9位
1 2 3 4 5 6 7 8 9 10 = 11位
我已经尝试寻找解决方案,但是找不到适合的解决方案。
基本思想是我有一个已知的数字n,它将代表数字计数的结尾。计数从1开始1 <= n <= 10000
。
我想到的第一件事是数位数:
while(numdig != 0) {
numDig = n/10;
digCount++;
}
然后在一个循环中继续循环,但是我发现在第二个循环中感到困惑。之后,我想到了一个循环,该循环将使用很多if`s,这将是解决问题的非常错误的方式。
我希望这个问题是可以理解的。
谢谢
也许这将有助于(帮助您将数字分隔成自己的功能)有助于编写程序。
/* return the number of digits in the number i */
int ndigits ( int i ) {
int n = 1;
if (i < 0) i = -i;
while (i >= 10) { ++n; i /= 10; }
return n;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句