列印1到最大的n位數

2021-08-07 08:59:58 字數 549 閱讀 4667

題目描述:輸入數字n,按順序列印從到最大的n位十進位制數。

題目分析:1、要考慮大數的情況;2、可以用兩種方式解決這個問題,一種是字串,從低位依次加1,遇9進製,另一種是遞迴,每位的情況都是0-9,從高位開始遞迴;

**分析:

#includeusing namespace std;

//第一種方法:用字串的方式,依次從低位加,每次加1,遇到9就進製。

void show(char *s) //列印,從第乙個非0數字開始列印。

cout<= 0)

while(index >= 0 && s[index] == '9')//遇到9,就進製

if(index >= 0)

}delete s;

}//第二種方法,位數的全排列組合,並列印;

void printnum(char *s,int n,int pos)

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

void print(int n)

}int main()

列印1到最大的n位數

輸入數字n,按順序列印出1到最大的n位十進位制數。比如輸入3,則列印出1 2 3一直到最大的3位數即999。方法1 利用case語句使字元 char charplus char a if numchar len 0 判斷是否向高位移動,如果該為由9 0,則向高位移動 if flag numchar ...

列印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代表有沒有溢位 是不是...