列印從1到最大的n位數

2021-08-26 23:39:52 字數 729 閱讀 8403

題目:輸入數字n,順序列印從1到最大n位的十進位制數,例如輸入3,列印1到999

#includebool increment(char* number);

void printnumber(char* number);

void printtomaxofndigitsrecursively(char*number, int length, int index);

//方法一:字元陣列上

void printtomaxofndigits(int n)

bool increment(char* number)

}//當nsum小於10時,結束迴圈

else

}return isoverflow;

}//方法二:用陣列遞迴

void printtomaxofndigits2(int n)

//最後還要釋放陣列記憶體

delete number;

}void printtomaxofndigitsrecursively(char*number, int length, int index)

//否則index+1,列印下一位,遞迴呼叫函式

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

void printnumber(char* number)

printf("\t");

}int main()

列印從1到最大的n位數

void print1tomaxofndigits int n 上面的 有個最嚴重的問題 沒有關注n的範圍 當輸入的n很大時,我們求最大的n位數用int或者long long都會溢位。也就是我們需要考慮大數問題。因為數字最大是n位,所以我們需要用乙個長度是n 1的字串 字串最後一位放 0 當實際的數...

列印從1到最大的n位數

題目 輸入數字n,按順序列印出從1最大的n位十進位制數。比如輸入3,則列印出1 2 3一直到最大的3位數即999。思路 首先注意這是個大數問題,n很大的時候c 的int和long long都吃不消,所以數字的儲存要用字串 這裡我模擬了大數相加,只不過每次都是加1 另外要注意列印的問題,cout比較慢...

列印從1到最大的n位數

第十七題,題目如下 思路如下 首先就是讓你輸入乙個數字確定位數。可能數字很大所以用字元型表示,即用0 9這10個字元表示大數字。那麼陣列長度就確定為n 1了 多的那個存 0 每次對陣列增加一,直到其第一位產生進製結束輸出。完整 如下 include include bool increment ch...