劍指offer 列印1到最大的n位數

2021-10-02 07:22:32 字數 598 閱讀 4721

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

1到最大的n位十進位制數,其實就是n位數字的全排列

需要考慮long long不能存放的數字,只能用高精度的思想,也就是用陣列存放數字

符合正常的互動方式,也就是從第乙個非0的位置開始輸出

#include

using namespace std;

#define maxsize 100

char number[maxsize]

;void

print

(char

*number)

//從第乙個不為0的位置開始輸出

cout << endl;

}void

print_number

(char

*number,

int index,

int n)

//遞迴生成--本質實現全排列

for(

int i =

0; i <

10; i++)}

intmain()

劍指offer 列印1到最大n位數

面試題12 題目 輸入數字n,按照順序答應出從1最大的n位十進位制數。比如輸入3,則列印出1 2 3一直到最大的三位數即999。對於這道題進行時,咱們會進行一些分析,當你輸入3時,最大的三位數是999,這就是說這個最大的數是9 10 n 1 9 10 n 2 9 10 0。所以在這我想學習c語言的初...

劍指offer 列印1到最大的n位數

題目 輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數999.1 這是乙個典型的大數加法問題,當面試官不允許使用biginteger實現大數加法的時候,通常是使用字串或者陣列實現其功能。2 在大數的加法中,我們需要注意的問題是對變數number不斷遞...

劍指offer 列印1到最大的n位數

題目 輸入數字n,按順序列印出從1到最大的n為十進位制數。比如輸入3,則列印出1,2,3一直到最大的三位數即999。思路 這道題一看就是乙個大數問題。對於解決這個大數的問題,可以用到字串或者陣列都可以。字串解法 對於乙個字串的話,首先要考慮申請空間的時候,要申請n 1個因為最後還有乙個 0 進行加法...