オイラー定数を計算してみた
30分プログラム、その655。オイラー定数を計算してみました。
京都に旅行に行ってきました! 旅行中に、ふらふらっとジュンク堂に入ったらオイラー定数1000000桁表が置いてあったので、つい買ってしまいました。
で、せっかく買ったので、オイラー定数を計算してみました。
式は、を使っています。
計算をやめるタイミングが悪いせいだと思うんですが、あんまり精度はよくありません。ただ、結果の確認にオイラー定数表が使えたので満足です。
使い方
$ python euler.py 0.577208593849
ソースコード
#! /usr/bin/python # -*- mode:python; coding:utf-8 -*- # # euler.py - # # Copyright(C) 2009 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2009/09/07 20:56:44 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # from math import log from itertools import count def term(n): return (1/n-log((n+1)/n)) def euler(diff=1e-10): r = 0 for i in count(1): d = term(float(i)) if d < diff: return r else: r += d print euler()