2010-01-01から1ヶ月間の記事一覧

PythonでMapReduceの真似事

MapReduceとはGoogleによって考案され,クラウドコンピューティングの要として注目されたアルゴリズムフレームワークです.Googleによる分散処理の実装自体をMapReduceと呼ぶことも少なくありませんが,アルゴリズムにおける分割統治法のように,並列コンピ…

multiprocessingでmap

Pythonのビルトイン関数であるmapは通常次のように使用されます. >>> def f(x): ... return x * x ... >>> map(f, range(10)) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]多くの場合mapに渡す関数は副作用が少なく,map処理は並列可能性が高いと考えられます.Py…

Project Euler Problem 26 循環小数の循環節

循環小数の秘密というサイトによると,既約分数を少数になおしたものは次の3つに分類されます. 有限小数 純循環小数 混循環小数 これらは分母の値を素因数分解することで次のように区別できます. 素因数が2と5のみで構成されるならば,有限小数 素因数に2…

inputの落とし穴(SPOJ 11. Factorial)

今日のテーマはSPOJの11番Factorial.問題を要約すると,自然数が与えられて,その階乗の値の末尾に何個の0が続くかを求める問題.解法としては階乗の値を素因数分解したときに5がいくつ含まれているかを数えればいい.まずはシンプルに実装してみよう. #!/…

人材獲得作戦・4を解答してみた

物議を醸している下記の問題 人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか なかなかの良問だと思ったのでPythonで解答してみた.かかった時間は1時間ぐらい. #!/usr/bin/env python2.6 from __future__ import print_function import sys…

変数の入れ替え

Pythonはひとつの構文でいろいろなことを実現できるように設計されている気がします.ついさっき知ったそんな一例.変数の入れ替えを行っています. #!/usr/bin/env python2.6 a, b = 1, 2 print a, b a, b = b, a print a, b もちろん3個以上の変数を入れ替…

Pythonで漸化式

第n番目の素数の近似値を求める漸化式は次のように与えられます.この漸化式の第n項を求めるために,Pythonで漸化式の第n項を高速に求める実装を考えてみました.まず初めに検討したことはreduceで書くべきなのか,通常のループ構文で書くべきかということで…

はじめまして

はじめましてlikrと申します.プログラミングネタを書き留めておくためのブログとして開設しました.よろしくおねがいします.