-1

整数がその桁の最大数に達したときに停止する条件についてのアイデアを探しています..

すなわち

2 桁の数字の最大数は 99 です

5 桁の数字の最大数は 99999 です

私はこれを手に入れました

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

しかし、実際には文字列を扱っています。これには膨大な数がある可能性があり、このコードは9桁の後に非常に長い実行時間を取得し始めます。

それで、誰かがそれについて私に良い考えを与えることができます、ありがとう。

4

2 に答える 2

2

使ったほうが少し早いかも

x = ([10^number of digits] -1);

それ以外の

while(x != ([10^number of digits] -1))
{
    x++;
}
于 2013-01-20T09:40:03.767 に答える
1

どうですか:

done = false;
while(!done)
{
    x++;
    done = true;
    for (i=0 ; i<number_of_digits; i++)
       if x[i] != '9'
          done = false;
}
cout << x;
于 2013-01-20T09:41:44.793 に答える