面試題14 列印1到最大的n位數

2021-07-08 22:37:04 字數 803 閱讀 3494

題目:

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

思路:由於這題沒有說不考慮大數,因此我們有必要用字串來表示大數。

用字串表示最大的數沒問題,關鍵是如何列印出所有數呢?

#include #include #include #include #include using namespace std;

void printstring(vectorstr, int n)

bool strnumincrement(vector&str, int n)

} else

}return isoverflow;

}void print(int n)

cout << endl;

}int main()

注意上面對strnum加一的操作。

由於是輸出n位十進位制,其實就是對其每一位從0到9進行全排列,然後不輸出0。

#include #include #include #include #include using namespace std;

void printstring(vectorstr, int n)

void recursively(vector&str, int index, int n)

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

void print(int n)

int main()

面試題12 列印1到最大的n位數

題目 輸入數字n,按順序列印出從1到最大的n位十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數即999.題目陷阱 大數問題 在字串上模擬數字加法的解法 void print1tomaxofndigits int n delete number 如何在每一次增加1之後快速判斷是不是到了最大...

面試題17 列印1到最大的n位數

面試題17 列印1到最大的n位數 題目 輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則 列印出1 2 3一直到最大的3位數即999。首先是乙個大陷阱,n有多大?萬一大到long long型別都盛不下,你要直接動手寫,那寫的再正確也是涼涼。我們考慮到用字元來表示數字,然後把字元列印出...

面試題17 列印1到最大的n位數

題目 輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則列印出1 2 3一直到最大的3位數即999。輸入輸出描述 test 1 test 2 test 3 test 0 test 1 參考 在字串上,模擬數字加法。include include include include incl...