列印1到最大的n位數

2021-09-14 05:09:43 字數 805 閱讀 3791

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

當輸入的n很大的時候,最大的n位數用int或者long long都會溢位。

- 解法一:在字串上模擬數字加法

#include #include // 字串自增1

bool increment(char *number)

}else

}return isoverflow;

}// 列印字串數字

void printnum(char *num)

}printf("%s\n",num+beginposition);

}// 列印1到n位數的最大值(99..999)

void print1tomaxofndigits(int n)

delete number;

}int main()

//  遞迴列印數字排列

void print1tomaxofndigitsrecursively(char *number, int length, int index)

// 每個數字有10種選擇,遞迴排列。

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

}void print1tomaxofndigits(int n)

delete number;

}

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