文字列のハミングの重みを計算するプログラムを作成します。勝者は、最低のハミング重量を持つプログラムです。
ルール:
- ASCII文字のハミングの重みは、
1
バイナリ表現で設定されるビットの総数として定義されます。 - 入力エンコードが7ビットASCIIであり、言語の標準的な入力メカニズム(stdin、argsなど)を通過すると仮定します。
- 結果を数値として、標準出力または言語が使用するデフォルト/通常の出力メカニズムに出力します。
- 言うまでもありませんが、実際のプログラムを有効に実行するには、実際にプログラムを実行できる必要があります。
- 勝者は、コードのハミング重みが最も低いソリューションです。
申し訳ありませんが、これには空白の解決策はありません!OK、ルールを整理したので、空白でコーディングできます:)
文字ごとの例:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11ですか?スペースと異なるのは10文字のみです。また、プログラムのハミングの重みは、スペースを除いたちょうどその長さのようです。通常のコードゴルフとそれほど違いはありません。
~
とo
。
0x20
の基準として/ ASCII 32、のハミング重みではないhello world
10ではなく11?