×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

C#でパズルを解こう!

C#で様々なパズルを解くプログラムを紹介しています。
パズルプログラミングは、やっていて面白いだけでなくプログラミングスキル向上にもとても役に立つと思います。
多くは深さ優先探索をつかって再帰的に解いています。幅優先探索やその他の手法を使っているものもあります。
ソースコードはすべて公開していますので、プログラミングのお役に立てれば幸いです。
掲載しているパズルプログラムは、随時更新しています。

※ Silverlightの記述があるものは、ブラウザ上で動作を確認することができます。
 
協力最短詰めオセロ 二人で協力しどちらかが完全勝利する最短手を見つける。 (WPF)
ハノイの塔を再帰で解く ハノイの塔を再帰で解くための考え方も解説してます。 (Silverlight)
迷路を波状探索で解く 迷路を波状探索(勝手に命名)で解いています。(コンソールアプリ)
迷路を波状探索で解く 迷路を波状探索(勝手に命名)で解いています。(コンソールアプリ)
迷路を幅優先探索で解く 迷路を幅優先探索で解いています。(コンソールアプリ)
迷路を深さ優先探索で解く 迷路を深さ優先探索で解いています。(コンソールアプリ)
MagicStarを解く MagicStar(星陣)を深さ優先探索で解く(Silverlight)
8クィーンパズル N-Queenに対応しています。
ハイパークィーン問題 8クィーンと似たパズル (Silverlight)
碁石拾い 日本古来の碁石を使ったパズルを再帰で解く (Silverlight)
ナイト(騎士)巡回問題 バックトラックでナイト巡回問題を解く
ナイト(騎士)の最適配置 チェス盤に騎士を配置し効き筋で埋めます (Silverlight)
ステインハウスの三角形  整数のビットパターンで組合せを求める (Silverlight)
Triangle15パズル 順列が問題を解くカギ (Silverlight)
コイン150 100円玉と50円玉をつかったパズルを深さ優先探索で解く (Silverlight)
覆銭問題 Eventを発行し途中経過を知らせる (Silverlight)
割り切れる4桁の逆転数 逆転した数で割り切れる4桁の数を得る
巡回数 n倍すると巡回する自然数を求める (Silverlight)
小町算  1-9の数字と+−で100にする:LINQで組合せを求める 
2乗した値が1-9で構成 2乗した値と求めた値が1-9で構成される3桁の数を得る
小町数となる単位分数 約分して1/nとなる数の分母と分子が小町数 (Silverlight)
3つの式が等しくなる小町数 ○○-○=○○/○=○+○*○が小町数 (Silverlight)
素因数分解小町 素因数分解した結果の値が1-9で構成される数を求める (Silverlight)
小町リング 円の中の数の合計が等しくる小町数 (Silverlight)
センチュリーパズル K + N / D = 100 のK,N,Dが小町数 (Silverlight)
リングナンバーの最大公約数 16個の数字の最大公約数を求める(Silverlight)
二乗して回文となる非回文数 例えば264は、264*264=69696 で結果が回文となる (Silverlight)
Less Than Tree 規則に沿って2色の石を置いてゆく。 IObserver / IObservableを利用。

Silverlightアプリは、無償で利用できる 「Visual Web Developer Express」 +  Microsoft Silverlight  Tools で作成しています。