最大X位数

时间:2013-01-20 09:33:23

标签: c++ numbers max

我正在寻找关于当整数达到其最大数字时停止的条件的想法..

最大2位数字数为99

最大5位数字是99999

我得到了这个

while(x != ([10^number of digits] -1))
{
    x++;
}
cout << x;

但实际上我正在处理字符串,这可能我有一个巨大的数字,这个代码开始在9位数之后获得很长的执行时间。

任何人都可以给我一个好主意,谢谢。

2 个答案:

答案 0 :(得分:2)

使用

会快一点
x = ([10^number of digits] -1);

而不是

while(x != ([10^number of digits] -1))
{
    x++;
}

答案 1 :(得分:1)

怎么样:

done = false;
while(!done)
{
    x++;
    done = true;
    for (i=0 ; i<number_of_digits; i++)
       if x[i] != '9'
          done = false;
}
cout << x;