Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 11006: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m<=n) 之間所.

Similar presentations


Presentation on theme: "1 11006: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m<=n) 之間所."— Presentation transcript:

1 1 11006: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m<=n) 之間所 有的十進位整數,總共會出現幾個零呢?

2 2 題意範例:

3 3 解法:從每個位數分別會出現 0 的排列組合來 計算,求出總共會出現 0 的次數,再加其總合 加總,就可得出 0~n 所出現的 0 的總數。但需注 意如果給定的數字內含有 0 ,則先對數字做處 理,將數字拆成兩部份先行計算 ( 像是 4301 便 將 4299 與 300,301 分開計算 ) 。 等到算出題目所給的兩個數字所含的 0 後,相 減即可得解。

4 4 解法範例:以 4321 為例,示範解法如下: 求右邊數來第一位數為 0 時,在 4321 之下 會出現的排列組合方式來計算會出現的 0 的個數,也就是 10,20,30,~4310,4320 , 有 432 個

5 5 解法範例 (cont) :接著求右邊數來第二位 數為 0 時,在 4321 之下會出現的排列組合 方式來計算會出現的 0 的個數,此時因 為 ”0” 已經計算過,所以第一位數我們以 1~9 計算,所計算的形態為 101,102,103~201,202,203~4209,4301 , 有 43*9=387 個。

6 6 解法範例 (cont) :最後求右邊數來第三位 數為 0 時,在 4321 之下會出現的排列組合 方式來計算會出現的 0 的個數,所計算的 形態為 1001,1002~4020,4021 有 3*99+1*21=318 個。 ( 最左邊一位不需 要計算,因為其為 0 的部份已經被算過了 )

7 7 解法範例 (cont) :如果所求數為 4021 ,且 最後求右邊數來第三位數為 0 時,在 4021 之下會出現的排列組合方式來計算會出 現的 0 的個數,所計算的形態為 1001,1002~3999 和 4000~4021 。

8 8 討論: (1) 時間複雜度為 O(nlogn) 。


Download ppt "1 11006: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m<=n) 之間所."

Similar presentations


Ads by Google