アルゴリズム

Python

二つのコップの問題をPythonで解いてみた

問題と経緯以前、二つのコップの問題をプログラムで解きました。3デシリットルのコップと5デシリットルのコップがあります。これらを使って1デシリットルの水をはかりとるにはどうしたらいいですか。水差し問題とも呼ばれるそうです。以前、解いたときは、...
Python

だんご屋のひまつぶしをPythonで解いてみた

だんご屋のひまつぶしというパズルがあるそうです。三本の串に刺さった、ある状態の赤、白、緑の団子を別の状態に移します。このパズルを完全に解析したという記事がありました。難しくて理解できなかったので、自分でも考えてみることにしました。Pytho...
Python

Pythonで線形探索と二分探索

線形探索と二分探索についてウィキペディアにPythonのコード例がなかったので書いてみました。
Python

Pythonで最短経路を求める方法

こんな問題があったのでPythonで解いてみました。
Python

Pythonで平均値、中央値、最頻値を求める方法

「ライブラリを使わずに平均値、中央値、最頻値を求めなさい」という問題があったのでやってみました。
Python

Pythonで暗号化と復号を簡単に行う方法

Pythonで数列を暗号化する方法を考えます。復号する必要もあります。排他的論理和を使うと暗号化も復号も簡単です。
Python

リーグ戦の試合日程を決める方法

友人から次のようなオーダーがありました。草野球の試合日程を決めたい。6チームの総当たりで同じ組み合わせを2回ずつ。全部で30試合。グラウンドは1面のみ。同一チームは2試合連続はなし。つぎのように決めたところうまくいきました。チーム数が増えて...
Python

Pythonでクイックソート

ウィキペディアにクイックソートのコードの例が載っていますが全く理解できませんでした。自分で書いてみました。
Python

Pythonで大津の二値化を試す

画像を白と黒で表すことを二値化と言います。まずグレーで表して、それを白と黒に分けるのですが、その境目、閾値をうまく指定する必要があります。グレーだと色は256段階で表されます。最も単純なのは真ん中の128を閾値とする方法です。しかしこれだと...
Python

Pythonで凸包を求める方法

凸包というものがあります。簡単に言うと、散らばった点の外側にある点の集まりです。