題目:
輸入數字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...