EmptyRoom

Diary

twitterもはじめました

[134]2006/1/17(Tue) [tag: 旧日記システム ]
なんか随分時間が空いちゃったなぁ...
本当はもっと早くカラオケのことについて書こうと思っていたんだけどなぁ。
なんかもうネタの賞味期限が切れたようなので簡単に。

えーっと、俺がスレイヤーズの曲とか歌いだしたら
アニメしばり解除してくださいお願いします...痛いので。

今日はCentOS4.2(Linux)を入れてみました。
それだけ。

しかし、漢字変換の頭悪すぎ...
iiimfだったかな...こいつの使えなさは異常だ...

幸い、いくつかの変換ソフトがあるようなので、色々試してみようと思う。
[133]2006/1/9(Mon) [tag: 旧日記システム ]
18時間カラオケのことは後で書く。

前にも言ったとおり、WindowsXPの再インスコをしたわけだが、
きれいなOSはいいねやっぱり。
以前は変なソフトとか大量に入れちゃって気持ち悪かったし。
心なしか、いつもより動作が快適な気がする。

で、OSの再インスコに伴ってFireFoxの新Versionを入れたんだけど、
以前のVersionのFireFoxより描画速度が段違いですな、こりゃ。
すげぇ快適。
これでやっとIEと並んだかな。

ただ、今までの拡張が使えないので、エクステンション、テーマはまた
1から集めなおしになるようだけど…
(互換性があるものもあるようだが)

とりあえず、描画速度その他がかなり改善されているので、
古いVersionのを使っている人は是非。

しかし、このページのデザインが崩れる罠…なんでだ…orz
ああ、後で直そう…

#レポやばい。死ぬ。
[132]2006/1/5(Thu) [tag: 旧日記システム ]
今、デスクトップPCのOSを総入れ替えしてる。
WindowsXPを最初にインストールするわけだが、
こいつのサービスパック2が非常にウザい。

特に

「ウィルス対策ソフトウェアがインストールされていない可能性があります。
コンピュータがウィルスによる攻撃を受ける可能性があります。」

だそうだ。
こんなので警告出すのなら、

最初からMS製のウィルス対策ソフトを付けろよ!

と言いたい。
OSを買ってきて、インストールしたら
「他にも足りないソフトがあるから買え」
って言われるのは理不尽な話だと思う。

これは

このiPodはケース保護されていません。
この状態ではiPodは傷だらけになる可能性があります。

とか、

このコンピュータはインターネットに接続されていません。
レーベルゲートCDを試聴することが出来ない可能性があります。

みたいな話じゃねぇ?
(話がどんどんそれていくな…)
[131]2006/1/1(Sun) [tag: 旧日記システム ]
明けました。

年が明けたからといって何かイベントがあると思ったら大間違いです。

ひさしぶりにLinuxやりました。Linuxでアルゴリズムの勉強をしようと思ったので。
これはCと関係ないけど、Linux、細かい点でWindowsより良いなって 思うところがよくあるんだよね。
いや、これは逆もまた然りなんだけどね。
最近気づいた点では、

IPAフォント、Windowsでは下が切れる文字があるのに対し、
Linuxでは問題なく表示される。

フォントのアンチエイリアス、LinuxのほうがWindowsXPのより綺麗。
オプションも多いし。

日本語入力の切替えが、Shift + Spaceなので、切替えやすい。
Windowsのでも慣れちゃったけどねぇ、小指使わないのはうれしい。
ちなみに、WindowsでのShift+Spaceは全角スペースとか(使わねぇ)。

ホイールクリックでペーストも意外に便利...

ああ、これでATOKがあればなぁ。
Windows用のしか持ってねぇよ...

今日やったことは、
エラストテネスのふるい(素数判定)
素因数分解

全然たいしたことやってねぇなぁ...


っていうか、「雪オーム」作ってからもう1年って早すぎね?
ああ、時間が経つのが早すぎる...鬱...
[130]2005/12/30(Fri) [tag: 旧日記システム ]
実家に帰ってキャッキャウフフです(謎

コミケ行った人はお疲れ様でした。
なんか平和なコミケだったみたいで。…つまんねぇ(ぉ

実家に帰ると基本的にやることが無いんですが、
今日はちょっと学問的なことを(ぉ
ユークリッドの互除法について考えてた。まぁ、アルゴリズムですな…
超有名なアルゴリズムで確かセンター試験に使われたこともあったはず…
ただ、センター試験での言語はBASICで関数の再帰呼び出しとか出来ないので、
ちょっと再帰を使って書いてみようかなって思ったのですよ。

まず、ユークリッドの互除法について説明。

ユークリッドの互除法は任意の2つの自然数の最大公約数を
機械的に見つけることが出来るアルゴリズムで、
自然数m,n(ただしm>n)の最大公約数はm-nとnとの最大公約数と等しい、
という原理に基づいている。
つまり、この引き算を延々と繰り返して、どちらかが0になったときの
もう片方の値が最大公約数なワケです。
簡単にソースを書いてみると

int euclid(int a, int b){
  if(a < b) swap(&a, &b);
  while(b != 0){
    a -= b;
    if(a < b) swap(&a, &b);
  }
  return a;
}
(注: swapは2つの変数の内容を入れ替える関数)

これを再帰法で書き直すと、
int euclid(int a, int b){
  if(a < b) swap(&a, &b);
  if(b == 0) return a;
  else return euclid(b, a % b);
}

まぁ、あんまりかわらんね…ちょっとソースが短くなったけどね。
ちなみに、a -= b;を何回も繰り返すことは、aをbで割った余りを
aに入れることに等しいので、換えてます。

同じ機能を実現するプログラムでも書き方を換えるとちょっと面白いよね。
今日はそんなお話でした。

再帰法の方は、初期値でa > bが保証されていれば、
最初のswapが要らなくて、2行のプログラムになるのにねぇ。

…あ、三項演算子使えば1行か。すげぇ。
int euclid(int a, int b){
  return (b == 0) ? a: euclid(b, a % b);
}
こんな具合に。

脳汁、出た?

(今回のプログラムは、自然数以外の数値入れると死にます。注意。)
1ページに表示する件数