昨日のJavaのプログラムをPythonに翻訳してみました。(^_^;
ちょっと遅いけど、やっぱり、楽だねぇ。
● ExpectedValue1.py
# coding: UTF-8 # ExpectedValue1.py import itertools from time import time from fractions import Fraction def countRen(c): count=1 for i in range(len(c)-1): if c[i]!=c[i+1]: count+=1 return count def main(): pass # code goes here tm=time() # Timer Start p = list('AAAAABBBBB') r = len(p) count = [0]*r total = 0 for q in list(set(itertools.permutations(p,r))): # 同じものを含む順列 total+=1 count[countRen(q)-1]+=1 numerator = 0 for i in range(r): print("%2d:%3d"%(i+1,count[i])) numerator += (i+1)*count[i] print(u"∴ %d / %d = %s"%(numerator,total,Fraction(numerator,total))) tm=time()-tm # Timer Stop print("Runtime : %.3f [sec]"%tm) if __name__ == '__main__': main()
●実行結果
1: 0 2: 2 3: 8 4: 32 5: 48 6: 72 7: 48 8: 32 9: 8 10: 2 ∴ 1512 / 252 = 6 Runtime : 1.106 [sec]
- 作者: 辻真吾
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/24
- メディア: 大型本
- 購入: 19人 クリック: 199回
- この商品を含むブログ (59件) を見る
パーフェクトPython (PERFECT SERIES 5)
- 作者: Pythonサポーターズ,露木誠,ルイス・イアン,石本敦夫,小田切篤,保坂翔馬,大谷弘喜
- 出版社/メーカー: 技術評論社
- 発売日: 2013/03/05
- メディア: 大型本
- 購入: 1人 クリック: 65回
- この商品を含むブログ (30件) を見る
- 作者: Mark Lutz,夏目大
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/02/26
- メディア: 大型本
- 購入: 12人 クリック: 423回
- この商品を含むブログ (133件) を見る