×

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

C# プログラム小品集

練習、学習、腕試しのために作ったプログラムのソースコードを掲載しています。プログラミングの学習、アルゴリズムの学習にお役に立てれば幸いです。

ここで公開した記事を加筆修正したものをQiitaへ移行中です
移行済みのものは、リンク先も変更しています。
※ Silverlightの記述があるものは、ブラウザ(IE, Safari)上で動作を確認することができます。
■初等数学関連■ 
階乗の計算 再帰を使ったコード
素数の計算  素数の計算(2) エラトステネスのふるいで素数を求める
メビウス関数 素因数分解しないで求めています 
フィボナッチ数列 yield return 構文を使って、数列を作りだす
最大公約数 ユークリッドの互除法
最小公倍数 最大公約数を利用し求める
素因数分解 ポラード・ロー素因数分解法
完全数を求める メルセンヌ素数から完全数を導く
友愛数を求める 真の約数を求めて友愛数を導く
婚約数を求める  友愛数に似てます
ゴールドバッハの予想 偶数は2つの素数の和で表される? を検証してみる
三角数 三角数を求める
円周率を10000桁まで求める マチンの公式を使い1万桁まで求める(Silverlight)
カプレカ数 2乗して前の部分と後ろの部分に分けて和を取ったとき、元の値に等しくなるもの
N寄生数(Parastic Number) 筆算と同様の方法で巨大な数(N寄生数)を求める
エマープかつ上昇数 Emirpでかつ上昇数である自然数を求める
二乗して回文数となる非回文数 1~100000の整数で、二乗して回文数となる非回文数を求める

■組み合わせ■
順列を求める 与えられたすべての要素を使った順列を求めています
順列を求める(2) n個の異なる要素の中から m個を選ぶ順列 (Silverlight)
組合せ n個の異なる要素の中から m個を選ぶ組合せ (Silverlight)
攪乱順列 (完全順列) i番目の要素が i でない順列を求める (Silverlight)

■図形■
凸多角形の完全グラフ 凸多角形の完全グラフの一筆書き (Silverlight)
凸多角形の外周を引く 複数の点から凸多角形の外周を引く(Silverlight)
ヒルベルト曲線 フラクタル図形を再帰処理で描く (Silverlight)
ドラゴン曲線 フラクタル図形を再帰処理で描く-第2弾。(Silverlight)
コッホ曲線 フラクタル図形を再帰処理で描く-第3弾。(Silverlight)
リサジュー曲線 互いに直交する二つの単振動を合成して得られる曲線を描く (Silverlight)

■シミュレーション■
2次元ランダムウォーク 2次元ランダムウォークの動きを可視化 (Silverlight)
1次元ランダムウォーク ±5%で遷移する1次元ランダムウォーク(Silverlight)
交通流のモデル (ASEPモデル) 100個のスレッドを起動して交通流をシミュレート (Silverlight)
ライフゲーム 眺めているのが楽しいシミュレーション(WPF)

■セルオートマトン■
ルール30 ルール30と呼ばれる1次元セルオートマトン (Silverlight)
シェルピンスキーのギャスケット ルール90と呼ばれる1次元セルオートマトン (Silverlight)
ラングトンのアリ ランダムな動きが一転し、直線へ変わる不思議 (Silverlight)

■ボードゲーム(の一部)■
梅花碁の勝ち判定 梅花碁の勝ちパターンを見つける (Silverlight)
8クィーンゲーム 8Queenパズルのゲーム版. 単純な思考ルーチン (Silverlight)
3目並べ (Tic Tac Toe) いわゆる○×ゲームです。(Silverlight)

■その他■
巡回セールスマン問題を解く 遺伝的アルゴリズム(genetic algorithm)で解いています。
部分和問題を解く 部分和問題(Subset Sum Problem)を動的計画法で解く (Silverlight)
ビンパッキング問題 ビンパッキング問題を複数のアルゴリズムで求めています(Silverlight)
逆ポーランド記法の計算 逆ポーランド記法をスタックを用い計算する (Silverlight)
逆ポーランド記法への変換 数式を逆ポーランド記法に変換し計算をする(Silverlight)
マージソート マージソートのサンプルコード。ジェネリックス利用で型に非依存。
FizzBuzz問題 FizzBuzzの一般化を試みています。
簡易catコマンド IEnumerable<T>の実装サンプル
簡易tailコマンド リングバッファーの実装サンプル
2次元配列の回転 基本機能の組み合わせで多機能化を実現 (Silverlight)
最大面積の領域を求める マウスのドラッグに対応する(Silverlight)
アナログ時計 1 WPFのDispatcherTimerを使ったシンプルなアナログ時計
アナログ時計 2 WPFのアニメーション機能を使い秒針を滑らかに動かす例

■パズル関連■

 「C#でパズルを解こう!」へ移動しました。


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