スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



--------(--) --:--| スポンサー広告| トラックバック(-)| コメント(-)

プログラム書けない人が面接に来る時代

らしいですよ。

アメリカの話なんだろうけど。


どうしてプログラマに・・・プログラムが書けないのか?



そういうタイトルのはてなブックマークがあった。

元ネタは↓
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm



FizzBuzzの仕様としては以下の通り。

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。



なるほど、確かに肩書きだけでプログラマ応募する人もいるから、そんな輩を判断するのに、FixxBuzzは便利という事ですかい。

本来であれば、この程度で終わるこのネタ。

しかし、そうもいかない事が1つある。


問題の箇所ははてなブックマークの方にある。

有識者のみなさんが、独自の見解でFizzBuzzを回答していて、多種に渡るコードが見れて楽しい。

そんな中、ある人のコメントで、

どうでもいいが…,個人的にはFizzBuzz問題に剰余を使うような人は願い下げだ


Σ(゚д゚) ?! 普通 割った余りが0かどうかで3か5の倍数って判断するだろうに。

なんなのだ、このコメントをつけた人の自信は。

そう思い、剰余を用いない方法を考えてみた。


3は 0011
5は 0101

これらをXorすると 1001 になる。

算出した 1001 と1〜100までの数値をNandすると x11x のビットが立つものが
3と5の倍数である事が判る。

3の倍数であるかどうかは 3を二乗した数の9をビット化し、
0000 1001 として判定する。

5の倍数であるかどうかは 5を二乗した数の25をビット化し、
0001 1001 として判定する。

理屈ではこれでいけるのだが、、、


剰余の方が早くね?
スポンサーサイト

2007-05-10(Thu) 01:44| 独り言| トラックバック 0| コメント 1

コメント

こういう方法もあった。

http://anond.hatelabo.jp/20070508173455

2007-05-10(Thu) 12:49 | URL | faye #-[ 編集]

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://55teagiga.blog93.fc2.com/tb.php/51-991b0789

検索Box

Google

Amazon公式ウィジェット

Google広告

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。