劍指 17 列印從1到最大的n位數

2021-08-14 19:54:00 字數 538 閱讀 9026

題目描述

輸入數字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...