七行プログラミングと short code

コードの短さを競うプログラミングの話題などを、週1〜月1のスローペースで

← 2008年8月 →

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
My Yahoo!に追加 RSS
Counter

2008年8月29日(金)

穴開き LED

今月はちょっと忙しくて、仕事以外でのプログラミング時間がほぼ0になってしまいました。
せっかく買った EeePC 901-X も帰省時のメール読みくらいで終わる有様。

さてさて、そんなところで、短時間で挑める問題に挑戦です。
LED counterは、おなじみの7セグカウンターです。
昔、論理演算で計算問題を解いたことや、ハードウェアの回路実験で実装したことを思い出します。
現在の記録は 118B で2位。

数値とLEDの関係を保持するには、どちらの向きでも 112bits(14bytes)でいけるのですが、バイト境界をまたぐのを嫌うと 16 バイトで表現するのがよいわけです。
バイナリ使用数がほぼ並んでいることから、2位〜5位でほぼ同じ仕組みを利用していることが推測できます。

現在トップの letter さんが 110B ですが、バイナリ1バイト使用なのでこれは別のアルゴリズムを使用していると思われます。
おそらく論理演算で求めているのではないかと思うのですが(上記アルゴリズムを01反転しても4バイトはバイナリが入るため、そのように推測)・・・これは、また時間のあるときに挑戦したいですね。

作成者 nanagyou : 2008年8月29日(金) 23:25 [ コメント : 2]