2015年4月21日 星期二

排列組合01, 從31天中,任選4天

ryCalvinEx001.py

https://www.dropbox.com/s/0k1ei01z1t4udia/ryCalvinEx001.py?dl=0

'''
ryCalvinEx001.py

起因於要解 林明洋數學 中 5月排休假的問題。
以這個動機順便複習一些組合數學的基礎觀念。
renyuan 2015/04/24

問題:

從五月的 31 天 中,任選 4 天 作為休假日。
最多只能 2 天在周末假日(星期六、日)。
又規定不可連休(即連續的2天不可一起選),
請問,總共有多少的選法?

(已知五月1日星期日)

解答:

    從31天選4天  ==  31465 == C(31,4)
    最多2天在周末 ==  29491 ==  C(9,0)*C(22,4) +C(9,1)*C(22,3) +C(9,2)*C(22,2)
   
    最多連續休1天(沒有連續休2天,含2天以上) ==  20475 (電腦模擬)
    最多2天在周末 且 最多連續休1天 == 19363 (電腦模擬)

'''

2015年4月16日 星期四

排容原理

排容原理
The Principle of Inclusion and Exclusion

by 張福春 · 洪偉誠
http://w3.math.sinica.edu.tw/math_media/d333/33304.pdf


在組合數學中, 常需討論有關集合元素個數的問題, 而重複計數卻是造成結果錯誤的一大 主因, 故需再進一步討論所有可能重複的情況, 此時 「排容原理」 是一個能夠解決關於多個具有 某些性質的非互斥集合其交集與聯集計數問題的有效方法, 能輕易的將重複計數的困擾排除。


2015年4月3日 星期五

一支影片 學會 C++

台大資訊系的課程
https://www.coursera.org/course/cprogramming


一支影片 學會 C++,太神了!!

http://www.newthinktank.com/2014/11/c-programming-tutorial/


線上 C++/C 編譯、測試、分享。
/*
ryEx002.cpp
整數轉字串

http://cpp.sh/5pxp

一行搞定,參考這個網頁:
http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c

*/


/*
ryEx001.cpp

cpp.sh/3ph3

示範 字串模組 <string.h> 的運用。
程式碼中的 註解行是用 Python code 協助說明

請參考 ref:
http://www.cplusplus.com/reference/cstring/

renyuan, 2015/04/03

*/

identity numbers