列印1到最大的n位數

2021-06-13 13:41:10 字數 668 閱讀 8493

輸入數字n,按順序列印出1到最大的n位十進位制數。比如輸入3,則列印出1、2、3一直到最大的3位數即999。

方法1//利用case語句使字元++

char charplus(char a)

if ( numchar[len] != '0' ) //判斷是否向高位移動,如果該為由9->0,則向高位移動

if ( flag && numchar[0]=='0' ) //和上面的判斷越界條件一起使用

}return true;

}//列印輸出時,要符合一般習慣,把前面的0去掉

void printnum(char* numchar)

if ( flag )

for ( int i = 0; i < 10; i++ ) }

void print1tomaxofndigits_o(int n)

{ if ( n <= 0 )

{ cout<

功能測試(輸入1、2、3……)

特殊輸入測試(輸入-1,0)。

考查解決大數問題的能力。

時間空間複雜度盡可能好

能否用遞迴做

如果面試題是關於n位的整數並且沒有限定n的取值範圍,或者是輸入任意大小的整數,那麼這個題目很有可能是需要考慮大數問題。字串是乙個簡單、有效的表示大數的方法。

列印1到最大的n位數

劍指offer用的是字串,還要苦逼的字串比較,看是否進製。直接用整型陣列來儲存。include include using namespace std 乙個int儲存幾位數 const int int num 2 每位數最大值,超過這個要進製 不包括最高位 const int int max 99 ...

列印1到最大的n位數

1.問題描述 輸入數字n,按順序列印出從1刀最大的n位數的十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數999.來自 劍指offer 2.分析 對於這個問題,我們需要考慮大數。因此我們在字串上模擬加法運算。3.ntakeover代表進製,isnotoverflow代表有沒有溢位 是不是...

列印1到最大的N位數

題目描述 給定乙個數字n,列印從1到最大的n位數。輸入 每個輸入檔案僅包含一組測試樣例。對於每個測試案例,輸入乙個數字n 1 n 5 輸出 對應每個測試案例,依次列印從1到最大的n位數。樣例輸入 樣例輸出 include include int main int i,n,max while scan...