分類
數學

pi (π)的一百萬位與找出你的 pi day

今天是圓週率日, 3/14, 來看看 python 下取得更多位數的圓週率 pi.

可以參考這篇: https://pypi.org/project/math-pi/

程式實作如下:

https://colab.research.google.com/drive/1K1tmZF7Uf2AyKRWVUvdsozQ7VP0eC0td?usp=sharing

不過它不是用計算的, 而是利用了另一個專案: https://pypi.org/project/pi-1mp/ 這個 pi 的 1百萬位數字來的, 所以無法取得多於 1百萬位.

另外比較有趣的是這個 find your pi day. 大家都知道 pi 是無理數, 所以各式各樣的數字排列都可以有機會被找到, 例如找自己的生日, 以周杰倫生日為例: 1979/1/18 可以利用:

分類
數學

有難度的Wi-Fi password


來解看看, 用 wolframalpha:

https://diary.tw/s/intwifi

結果答案是…. 3.141592653589…..

繼續閱讀:
https://news.tvbs.com.tw/fun/989791
https://gotv.ctitv.com.tw/2017/03/435561.htm
https://www.newmobilelife.com/2016/11/01/the-most-difficult-wifi-password-in-the-world/

分類
數學

[數學]快算答案的算式

題目: 1999 x 19981998 – 1998 x 19991999

答案是 0

算式:

分類
數學

[數學]證明A(a), B(b)的中點座標是(a+b)/2

設 A點座標為 a, B點座標為 b, 則 A, B 的中點座標為 (a+b)/2, 證明之.

這是國中數學一維數線上的問題, 兩點的中點為兩點座標和除以2, 如何證明呢? 其實中點就是到兩點距離相等, 所以證明的方式也就是算出 A 到中點, 與 B 到中點的距離一樣就可以了. (距離算法為兩點座標相減取絕對值)

設 C點座標為 (a+b)/2, 則 AC距離為

abs((a+b)/2 – a) = abs((b-a)/2)

另外 BC距離為

abs((a+b)/2 – b) = abs((a-b)/2)

abs((b-a)/2) = abs((a-b)/2) 所以距離相等, 故 C點為 AB的中點, 得證.

分類
懶得分類

25×25乘法表

九九乘法是小學生在數學領域上需要學習的一個基本乘法準則, 主要是基於個位數乘個位數的用途, 若行有餘力, 可以再試看看二五乘二五乘法表, 能更加速一般的簡單乘法計算.

寫個小程式整理二五乘二五乘法表: http://sample.diary.tw/25×25/

PS. 原本因為要計算補足位數的函數, 使用了 Math.log10(x) 的方式來進行, 但 IE 不直援 Math.log10(), 所以修改了一下, 將其改為 Math.log(x) / Math.log(10) 即可.

分類
數學

微軟工具Microsoft Mathematics

之前有介紹過線上版本的數學解題工具:

  1. Mathway: http://diary.tw/archives/720
  2. Wolframalpha: http://diary.tw/archives/1196

現在來介紹一下微軟的工具, 是下載安裝的應用程式, 於2011年出的 Microsoft Mathematics:
http://www.microsoft.com/zh-tw/download/details.aspx?id=15702

該工具可以直接從上面網址下載安裝, 分為 x86, x64 兩個版本, 可以自行選擇適合版本安裝.

以網友問的一個問題為例:
x * y <=3
x – y >=0

若輸入到上面第二個服務 wolframalpha 解題如下:
http://www.wolframalpha.com/input/?i=x*y%3C%3D3%2C+x-y%3E%3D0

可以看到繪製出來的結果如上圖, 接下來使用 Microsoft Mathematics 來進行解題, 產生結果如下:

結果當然是一樣的, 不過在 windows 下的應用程式來解題, 十分方便好用, 大家可以試看看.

繼續閱讀:
http://steachs.com/archives/2094

分類
數學

中國剩餘定理

這是個古老的數學問題, 當然也有對應的解法. 在解這個數學問題之前, 我們先來看簡單一點的題目, 就是相同餘數的數字.

舉例來說, 某數除以 7 餘 4, 除以 13 也餘 4, 則某餘最小的自然數為何?

計算方式還蠻單純的, 就是 7 和 13 的最小公倍數, 再加上 4 即得, 如下:

lcm(7,13) = 91, 由於兩數互質, 所以最小公倍數就是該兩數的乘積, 故答案則為 91 + 4 = 95

另一個變形的題目, 某數除以 7 餘 5, 除以 13 餘 11, 除以 15 餘 13, 則某數的最小自然數為何?

再看一下題目, 雖然和上面的同餘數不太一樣, 不過有個規律, 就是都差 2 就會整除, 也就是雖然餘數不一樣, 但同樣少了 2, 所以計算方式也很類似, 找出 7, 13, 15 的最小公倍數, 然後減 2就是答案了, 如下:

lcm(7, 13, 15) = 1365, 故答案為 1365 – 2 = 1363

以上兩種都是比較單純的餘數問題, 再來看看這個中國餘數定理的問題:

孫子算經中的: 有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物幾何?

換成數學白話, 某數除以 3餘 2, 除以 5餘 3, 除以 7餘 2, 某數為何?

這個既不是同樣的餘數, 也不是同樣的差某一值可整除, 要如何解呢? 這時會用到一些餘數的式子, 可以先參考這裡: http://www.mikekong.net/Maths/Problems/chinese_remainder02.html

所以只需要先找出 5, 7 的公倍數, 除以 3餘 1的; 再找出 3, 7的公倍數, 除以 5餘 1的; 再找出 3, 5的公倍數, 除以 7餘 1的, 如下:

找出 5, 7 的公倍數, 除以 3餘 1的: 5 x 7 x 2 = 70, 該數除以 3會餘 1
找出 3, 7的公倍數, 除以 5餘 1的: 3 x 7 = 21, 該數除以 5會餘 1
找出 3, 5的公倍數, 除以 7餘 1的: 3 x 5 = 15, 該數除以 7會餘 1

然後利用:
a ≡ b (mod m) 則 ac ≡ bc (mod m) 這個式子(注意反之不然), 得
70 ≡ 1 (mod 3) … (a)
21 ≡ 1 (mod 5) … (b)
15 ≡ 1 (mod 7) … (c)
因為要除以 3餘 2, 所以 (a) x 2:
70 x 2 ≡ 1 x 2 (mod 3) … (d)
因為要除以 5餘 3, 所以 (b) x 3:
21 x 3 ≡ 1 x 3 (mod 5) … (e)
因為要除以 7餘 2, 所以 (c) x 2:
15 x 2 ≡ 1 x 2 (mod 7) … (f)

再利用:
a ≡ b (mod m) 則 a + c ≡ (b + c) (mode m) 這個式子,
並綜合以上 (d), (e), (f) 得該數應為
x ≡ (70 x 2 + 21 x3 + 15 x 2)(mod 105)

所以最小的某數應為 23, (即 70×2 + 21×3 + 15×2 – 105×2 = 23)

相關閱讀:
http://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E4%BD%99%E6%95%B0%E5%AE%9A%E7%90%86
http://www.mikekong.net/Maths/Problems/chinese_remainder02.html
http://www.geocities.ws/goodprimes/SCCongruence.html

分類
WebTrend

神奇的線上數學解題II-WolframAlpha

之前介紹過一款: http://diary.tw/archives/720

這次這個 wolframalpha 更好用, 更有趣, 網址如下:

http://www.wolframalpha.com/

基本上, 輸入後, 會有美美的求解結果, 很有意思, 而且很實用, 例如以下方程式:

3x+y=4
4x-y=3

輸入 wolframalpha 後得:

http://www.wolframalpha.com/input/?i=3x%2By%3D4%2C+4x-y%3D3

畫面如下:

不僅僅是把解求出來, 還有一步一步的算式, 以及對應的方程式圖, 再來試看看其他的:

3x^3+2x^2-7x+2=0

解答如下: http://www.wolframalpha.com/input/?i=3x^3%2B2x^2-7x%2B2%3D0

真的是太好用了呢!

另外像是語意分析的查詢也很有用:

3 months ago:

http://www.wolframalpha.com/input/?i=3+months+ago

真是一堆應用啊, 其實這就是大名鼎鼎的 siri 後面用的查詢引擎呢, 很強大!

突然想到, 在唸書時有用到一套軟體叫 Mathematica, 就是這家公司 Wolfram 出品的呢: http://www.wolfram.com/mathematica/

分類
好用軟體

方便好用的線上函數繪圖-graphr.org

這個網站(http://graphr.org/)利用了 html5 的 canvas 特性, 製作了一個方便的函數繪圖功能, 也將一些常用的尋解功能放在上面, 例如二元一次方程式如下:

y=x-1
y=3x-4

把資料輸入後(預設只有一個方程式, 按下[Evaluate]旁的[+]可以再多添加一個方程式), 點 [Evaluate] 後, 會把函數圖繪製出來, 再按下 [Intersect] 鈕, 把滑鼠移到交叉點附近後, 就會出現交點的解, 如下圖:

如此一來便能方便地利用圖示函數應用來解一些方程式. 上圖找出 (x, y)=(1.5, 0.5)為解.

再來看看3次函數的局部最大/最小值, 例如以下三次方程式:

y=x^3-3x^2+2

一樣的方式先輸入後, 按下 [Evaluate] 繪出圖形後, 再利用 [Local Minima/Maxima] 鈕, 找局部最大/最小值, 如下圖:

上圖找出 x=2, y=-2 的局部極小值.

很方便的函數繪圖工具.

分類
數學

數學證明題-平方和

還記得高中有學過證明累加的公式算法嗎? 利用數學歸納法來證明公式是否正確的一個方法, 為了再次熟悉以前的數學, 整理一下數學歸納法的方式.

先來看看 wikipedia 上的定義吧: http://zh.wikipedia.org/zh-tw/%E6%95%B0%E5%AD%A6%E5%BD%92%E7%BA%B3%E6%B3%95

利用數學歸納法, 可以證明數學問題的公式, 例如我們要證明平方和這個公式為 n(n+1)(2n+1)/6 於是就利用如下的步驟:

  1. 當 n = 1 時, 1^2 = 1, 1 * (1+1) * (2 * 1 + 1) / 6 = 1 成立
  2. 假設 n = m 時, 1^2 + 2^2 + 3^2 + … + m^2 = m(m+1)(2m+1)/6 成立
  3. 則 n = m+1 時, 應該就是 m(m+1)(2m+1)/6 + (m+1)^2 (也就是 2式 + (m+1)^2), 展開後得: (2m^3+9m^2+13m+6)/6
  4. 利用 n=m+1 的公式解得 (m+1)((m+1)+1)(2*(m+1)+1)/6 展開得: (m+1)(m+2)(2m+3)/6 = (2m^3+9m^2+13m+6)/6 和 3. 式結果相同
  5. 故得證.

不過用這種不是數學式的寫法看起來不是很舒服, 利用 google docs 的 “公式編輯器” 來寫應該更清楚, 如下:

證明平方和公式為:
1. 當 n = 1 時, 成立

2. 假設 n = m 時, 成立

3. 則當 n = m + 1 時, 4. 利用 n = m+1 的公式展開得:

5. 3和4式結果相同, 故得證.

相信這個證明很清楚地證明了平方和的公式及驗證, 也是數學歸納法的證明方式, 是不是讓久未碰高中數學的各位, 喚起了一些些記憶呢?