---
# System prepended metadata

title: Untitled

---

## 【40】Champernowne's constant錢珀瑙恩常數
連接相鄰正整數構造不循環小數
我們可以通過連接相鄰的正整數來構造一個不循環小數：
0.123456789101112131415161718192021...
如上，小數部分的第12位元數位是1。
若以dn來表示小數部分的第n位元數位的話，那麼以下算式的結果是多少呢？
d1×d10×d100×d1000×d10000×d100000×d1000000


#### 用字串來處理最好，因為中間沒有逗點隔開。
str(n)可以將數字轉成為文字的字串，而文字可以用加號+連接。

### 練習1：將1~100連續數字，全部串連在一個字串裡面。
![](https://i.imgur.com/6VInloC.png)
#故意將0也放進去，因為字串取出字母跟陣列用法相同，第1筆資料的足碼為0，而我們希望d1取到1，這樣剛好配合足碼，所以d2取到2、d3取到3...。


### 練習2：取出練習1中，字串s的d99×d100

	注意：d99=s[99]、d100=s[100]，如果就這樣將d99×d100會出錯！
	因為抓出來的是字元，你還得用int()轉化成數字，然後才能相乘。
	 

### 練習3：寫一個小迴圈印出1,10,100,1000,10000,100000,1000000
![](https://i.imgur.com/VGWBJYz.png)
問題：本題要找出d1000000需要將迴圈數到1000000嗎？

這是排列組合的數學問題：
個位數9個字元
二位數90x2=180個字元
三位數900x3=2700個字元
四位數9000x4=36000個字元
五位數90000x5=450000個字元
(1000000-450000-36000-2700-180-9)/6=85185.167個六位數
所以迴圈算到100000+85186=185186就夠了
 
如果你懶得想這個問題，直接到1000000保管夠，萬一是複雜計算，多花5倍時間而已。


## 請求出以下算式的結果是多少？
### d1×d10×d100×d1000×d10000×d100000×d1000000

