C

配列の要素の初期化

C

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

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

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

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

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

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

可変長の配列を返す関数

C

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

配列の長さについて

C 言語で配列を扱う場合、配列の長さ (配列の要素の数) はどのように取得するのでしょう。

プログラムの書き方についての些細なメモです

C

けさも C 言語の独学についての日記です。 プログラミング言語 C 第 2 版 ANSI 規格準拠 (B. W. カーニハン / D. M. リッチー著 石田晴久訳 共立出版 1989 ISBN978-4-320-02692-6) の進捗ですが、とりあえず第 5 章 「ポインタと配列」 の次は、第 6 章 「構…

ポインターに入門

C

通称 K&R を読みながらの C 言語の独学ですが、第 5 章 「ポインタと配列」 は若干ページ数が多く、まだ読み終えられていません。 読んでいてよくわからない部分も少なくありません。 が、それでも、いまのところ退屈せずに読み続けることができています。

わからないこと 2 点 ならびに ちょっと脳裏の片隅に残った 2 点

C

先日から読んでいる プログラミング言語 C 第 2 版 ANSI 規格準拠 (B. W. カーニハン / D. M. リッチー著 石田晴久訳 共立出版 1989 ISBN978-4-320-02692-6) は、「データ型・演算子・式」、「制御の流れ」、「関数とプログラム構造」 の各章を読み、きょう…

いわゆる 「やさしい入門」 から

C

ひとつ前の日記 Java をちょっとかじっただけの文系出身セールスエンジニアが C に興味を持つなど (Oct 22, 2011) でも触れましたが、C 言語の独学を始めました。 使用する教本は、通称 K&R とも呼ばれる プログラミング言語 C 第 2 版 ANSI 規格準拠 (B. W.…

Java をちょっとかじっただけの文系出身セールスエンジニアが C に興味を持つなど

C

少々繰り返しになりますが、id:nowokay/@kis さんの アルゴリズムの勉強のしかた - きしだのはてな (Sep 22, 2011) という記事は、個人的にツボにはまるものがありまして、プログラミングの基本ともいうべきアルゴリズムというものをまじめに勉強してみたく…