劍指offer用的是字串,還要苦逼的字串比較,看是否進製。
直接用整型陣列來儲存。
#include #include using namespace std;
//乙個int儲存幾位數
const int int_num = 2;
//每位數最大值,超過這個要進製(不包括最高位)
const int int_max = 99;
void func()
{ //n為要顯示的最大位數,len為需要int陣列的長度,這裡簡化了,直接給出來
int n = 5, len = 3;
//最高位最大為9
int high_int_max = 9;
int* a = new int[len];
int count=1;
int i, j, c;
while(1)
{//最低位加一
i=0;
a[i]++;
//處理進製
if(a[i] == int_max+1)
{a[i] = 0;
j=i+1;
c = 1;
//處理已使用的int元素
while(jhigh_int_max)
return ;
//輸出最高位的int
cout<=0; i--)
cout<
列印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位數
1.問題描述 輸入數字n,按順序列印出從1刀最大的n位數的十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數999.來自 劍指offer 2.分析 對於這個問題,我們需要考慮大數。因此我們在字串上模擬加法運算。3.ntakeover代表進製,isnotoverflow代表有沒有溢位 是不是...
列印1到最大的N位數
題目描述 給定乙個數字n,列印從1到最大的n位數。輸入 每個輸入檔案僅包含一組測試樣例。對於每個測試案例,輸入乙個數字n 1 n 5 輸出 對應每個測試案例,依次列印從1到最大的n位數。樣例輸入 樣例輸出 include include int main int i,n,max while scan...