2010年3月7日日曜日

Googleクイズ



今期受けているJavaの授業のクラスメートに、Googleで働いている人が数人います。


その中の一人、アルバート君(仮名)は、同僚の中でも一目おかれているよう。
Javaは初めてといいながら、授業2回目ぐらいにして、すでにマスターしたもよう。
先生がデモをしていてコンパイルエラーが出ると即座に、「◯◯メソッドの◯◯を直せばうごくよ」と一言。
その通りにすると、いつも、するっと動きます。
予知能力者のようです。

さてある日のこと、授業が予定より早く終わってしまい、先生が何かおもしろい話でもないかね〜と言ったところ、Googleの人達が、会社で同僚と遊んでるクイズがあるから、やってみる?と提案。
みんなに送ってくれました。

プログラムコードの間違い探しらしいです。

(乗数計算をしてくれるPowerというファンクションがあると仮定してください)
#What's wrong with this power function?

double power(double base, int exponent) {
if (exponent = 0)
return 1;

double result;
int limit = Math.abs(exponent);

for (int i=0; i<= limit ; i++) {
base = base * base;
}

result = base;

if (exponent < 0) {
result = Math.divide(1, result) ;
}

return result;
}


#答えは、後日のブログにでも載せようと思います。

この間違い探し自体のおもしろさはそこそこかもしれませんが、同僚とこういうクイズを出し合って遊んでいる、というところに、Google人達の仕事を楽しむ姿勢が垣間見えたような気がします。
相手がひっかかること、また答えを知った時に、センスあるね!と思われることが、楽しいみたいです。

会社でも、センスのあるコードの間違い探し選手権などしたら、おもしろいかもしれません。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。