#pragma section-numbers off Pythonでいくつかアルゴリズムを記述してみる。 [[TableOfContents]] = 総和 = 総和は非常に基本的なアルゴリズムです。ここでは1から10までの総和を計算するアルゴリズムを示してみます。 {{{ #!python for i in range(1,11): summation += i }}} これは単純すぎます。通常は以下になります。 {{{ #!python n = 10 summation = n * (n + 1) / 2 }}} built-in function の sumを利用する手もあります。 {{{ #!python summation = sum(range(1, 11)) }}} 初期値からの連続する値であれば、2番目の方法がもとも速度的には早いです。また rangeはあまりおおきな値をあつかえませんし、xrangeには python-Bugs-1003935(python2.4では修正済み)がありますので巨大数では2番目の方法以外は選択できません。 [http://www12.plala.or.jp/ksp/comput_phys/sum/ 総和の計算 (物理のかぎしっぽ)] = 再帰 = 再帰は通常メモリを多量に消費しますが、アルゴリズムの表現には非常に便利です。 == 素数判定 == {{{ #!python def subprime(n, m): if ((m * m) > n): return True elif ((n % m) == 0): return False else: return subprime(n, (m + 1)) def prime(x): if ((type(x) == int) and (abs(x) > 1)): return subprime((abs(x)), 2) else: return False }}} {{{ #!python for i in range(0, 100): if (prime(i) == True): print i }}} などとすれば素数が表示されます。 = 参考サイト = ---- ["アルゴリズム"] CategoryPrograming CategoryPython