題目描述
輸入數字n,按順序列印出從1到最大的n位十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數999.
思路分析
考查大數的表示與計算.
****將分為3個模組。增長數字。列印數字。
/*
* 面試題17. 列印從1到最大的n位數
*/#include
#include
using
namespace
std;
bool increment(vector
& vc)
else
}else
}return is_overflow;
}void print_num(vector
& vc)
idx++;
}}void print_to_max(int n)
return;
}int main()
reference
1.[劍指offer 第二版]
17 列印從1到最大的n位數
輸入數字n,按順序列印出從1到最大的n位十進位制數。比如輸入3,則列印出1 2 3一直到最大的3位數999。示例 1 輸入 n 1 輸出 1,2,3,4,5,6,7,8,9 說明 題目要求列印 從1至最大的n位數的列表 因此需考慮以下兩個問題 最大的n位數 記為end 和位數n的關係 例如最大的1位...
劍指17 列印從1到最大的n位數(大數問題)
如果輸入3,則列印1 2 3 一直到最大的三位數999 這是乙個典型的大數問題,因為輸入的n位數,所能表達的數字可能會超過long long型數字。思路是這樣 用陣列來儲存數字,即如果輸入是3則定義乙個3維陣列 定義兩個函式 乙個用來使陣列中的數字加1,每次呼叫該函式,則陣列中的數字會加1,但是要保...
劍指offer17 列印從1到最大的n位數
題目 輸入數字n,按順序列印從1到最大的n為十進位制數。比如輸入3,則列印出1,2,3一直到最大的3位數999。看到這個問題之後,最容易想到的辦法就是先求出最大的n位數,然後用乙個迴圈從1開始逐個列印。於是很容易寫出以下 void print1tomaxofndigits 1 int n for i...