しばらく Blogger に戻します

これまで Blogger と ここ の両方を使ってきましたが, しばらく Blogger のほうをメインにしたいと思います. 特に大きな理由はないのですが, なんとなく, はてな に何かを書くということが, 自分には分不相応のような気がしてきました.一時期, Blogger に書…

配列の要素の初期化

C

もしかしたら 「配列を使ってプログラミングしていいのは小学生までだよね」 と言われそうな気もしています. でも, プログラミングの分野で自分はまだ小学生レベルにすぎないのだと思えば, まあそれはそれで納得なのですが.

偶数のフィボナッチ数 復習

これは以前に書いた 偶数のフィボナッチ数 (Dec 10, 2011) の補足です.

ファイルをダウンロードするスクリプトを VBScript で書く

ある案件で, 「エンドユーザーがスクリプトファイルを実行したら, HKCU 配下のレジストリツリーへの書き込みと, クライアントソフトウェアのインストーラーのダウンロードと, インストールの実行がひととおりおこなわれるようにしてほしい」 という要件があ…

簡易に試せるロードバランサー

仕事で, ロードバランサーを使った検証をしてみる必要があって, 久しぶりに Pound を触ってみました. 手軽に扱うことのできるオープンソースのソフトウェアです.

なぜ拡張 for 文を使わないのでしょう

最近 アルゴリズムクイックリファレンス (オライリー・ジャパン, 2010. ISBN978-4-87311-428-6) という本を読んでいます. Algorithms in a Nutshell (George T. Heineman, Gary Pollice, Stanley Selkow. O'Reilly Media, 2008. ISBN978-0-596-51624-6) の邦…

ピラミッド上のルートをたどる問題

きょうの Project Euler は Problem 18 (May 31, 2002) です. 今回の問題は, 大きな数を計算させるようなものではないので, (満足に解くことができるかどうかは別としても) 少し心が休まります.

三角数の約数の数

本日の Project Euler は Problem 12 (Mar 8, 2002) をやってみます. 三角数 (triangle number) の約数 (factor) の個数がテーマです.

2 の 1000 乗

まことに情けないことに, ふと Project Euler に飽きてしまいました.力ずくで解こうと思えば解けないこともないけれども, 数学の素養があればもっとはるかにスマートでエレガントな解き方ができるに違いないような, そんな問題が多いのだと思います. そうい…

コラッツの問題

ある自然数 n が奇数の場合は n の 3 倍に 1 を加え, n が偶数の場合は n を 2 で割ります. そうして得られた数に対しては, それが奇数なのか偶数なのかに応じて再び同様の計算をします. 任意の自然数からスタートして, これを続けていくと, いつか 1 になる…

再びピタゴラス数を求める問題

同じテーマにばかり執着していて, 木を見て森を見ずの感がなきにしもあらずですが, 新年最初の日記でも, 再び同じ問題を考えてみたいと思います.

Project Euler #9 に関して

昨日の 日記 (Dec 30, 2011) で, 原始ピタゴラス数 a, b, c を, m と n を使って書き表わすことを学びました. そこで, ふたたび Project Euler の Problem 9 (Jan 25, 2002) を復習してみたいところなのですが, ちょっと別の疑問が湧いてきまして, 少々足踏…

複数の関数を同列に扱いたい

C

これまで Project Euler の問題に取り組むとき, できれば複数の解法を試してみようと心がけてきました. そして, それぞれの解法の処理時間を比較してみるということをやってきました. その際, 比較をおこなうために書いたコードがいつも野暮ったくて, これは…

原始ピタゴラス数について少し勉強してみるなど

きょうは趣向を変えまして, 原始ピタゴラス数について少しだけ学んだことを書いてみたいと思います. 前回の 日記 (Dec 28, 2011) に id:wd0 さんから原始ピタゴラス数に言及したコメントをいただいたのが今回の日記を書くきっかけになりました. もっとも, 特…

Project Euler #8, #9, #10

本日は少し勢いをつけて, さらに Problem 8 (Jan 11, 2002), Problem 9 (Jan 25, 2002), Problem 10 (Feb 8, 2002) の 3 問について書いてみたいと思います. まだ年末年始休暇に突入したわけではないんですが, 急を要する仕事も特にないような気がする (とい…

10001 番目の素数

けさは Project Euler の Problem 7 (Dec 28, 2001) です.

平方の和 と 和の平方

だんだん, プログラミングやアルゴリズムの勉強ではなく, 高校数学の勉強のようになってきましたが, けさは Project Euler の Problem 6 - Project Euler (Dec 14, 2001) についてです.

3 個以上の数の最小公倍数

Project Euler の Problem 5 (Nov 30, 2001) をやってみました.

回文となる整数を求める

少し間があいてしまいました. Project Euler を再開してみます. 今回は Problem 4 (Nov 16, 2001) です.

素因数分解

Project Euler の Problem 3 (Nov 2, 2001) は, 素因数分解の問題でした.

偶数のフィボナッチ数

けさは Project Euler の Problem 2 (Oct 19, 2001) をやってみました. ただし, 厳密には, けさになってはじめてやってみたというわけではありません. 数日前から考えてはいたのですが, 期待していたほど美しい解き方を思いつくことができず, 結局いまに至っ…

3 または 5 で割り切れる数の合計

少し前にその存在を知ったものの, いままで特に気にかけていなかったウェブサイトがあります. Project Euler です. おそらく id:fumokmm さんの 「1000以下の回文素数で最大のものを示せ」をGroovyでやってみた (Jul 3, 2011) という記事で見かけたのが, そ…

リストと二分探索ツリー

いきなり大上段に構えたような題名をつけてしまいましたが、大それたことを書こうというわけではありません。 これまでアルゴリズムの勉強において、配列のことしか考えてきませんでしたが、今回はリストやツリーについて考えてみようという、ただそれだけの…

二通りの挿入ソート

これまでに、交換ソート (バブルソート)、選択ソート、挿入ソートを、大雑把に眺めてきました。 いずれも、計算量オーダーが O(N2) であるとされているアルゴリズムです。 これらの中では、個人的には挿入ソートがちょっと気に入りました。 あまり難解もしく…

単純挿入ソート

昨日の日記 単純選択ソート (Nov 23, 2011) で、単純選択ソートをわたしなりに安定ソート化してみようと試みた際に、これはもしかしたら単純挿入ソートに変質してしまったのではなかろうか、という疑問を抱きました。 で、そもそも、単純挿入ソートって、ど…

単純選択ソート

昨日の日記 バブルソートのお勉強 (Nov 22, 2011) におきまして、「単純選択ソート (straight selection sort)」 と呼ばれるものについて言及いたしました。 が、その後、そこに掲載したサンプルコードにはもう少し見直しの余地がありそうだと思いまして、本…

バブルソートのお勉強

アルゴリズムの勉強というと、まずはソートに関するアルゴリズムから始めるのがお約束ということになりましょうか。 また、ソートに関するアルゴリズムの勉強というと、だいたいバブルソートから始めることになりましょうか。ということで、わたしもバブルソ…

これは何ソートって呼ぶのかな

先月から、アルゴリズムの勉強と C 言語の勉強を始めたはずなのですが、気づけば今月はほとんど何もしていないことに気づきました。 で、それらの勉強をそろそろ再開したいのですが、その前に、今回は、ちょっと思い出話を書き残してみたいと思います。

順列を列挙する

最近、ちょっとだけ独学を始めた C 言語を使って、順列 (permutation) を列挙するコードを書いてみようと思い立ちました。 少し前に読んだ 『Java データ構造とアルゴリズム基礎講座』(長尾和彦著 技術評論社 2009 ISBN978-4-7741-3697-4) という本で小さな…

可変長の配列を返す関数

C

今週はだらだら過ごしてしまい、C 言語の勉強に手をつけていませんでした。 そのおかげで、学び始めたばかりの C 言語のことをほとんど忘れてしまいました。 やはり歳を取ると、もの覚えが悪くなるので、何度も何度も反復練習しなければなりませんね。 また…