触発され、この問題をさらに触発されたこの1、7セグメントディスプレイでそれらを表示するために使用されるセグメントにOR演算を行うことにより、2つの整数をとり、ユニークな方法でそれらを加算するプログラムを書きます。参考のため、数字は次のように表されます。
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
1は左側ではなく右側の2つのセグメントを使用することに注意してください。この方法で生成できる2つの特殊文字は、数字ではありません。以下の追加表を参照してください。
| 0 1 2 3 4 5 6 7 8 9
--+--------------------
0 | 0 0 8 8 8 8 8 0 8 8
1 | 0 1 a 3 4 9 8 7 8 9
2 | 8 a 2 a 8 8 8 a 8 8
3 | 8 3 a 3 9 9 8 3 8 9
4 | 8 4 8 9 4 9 8 Q 8 9
5 | 8 9 8 9 9 5 6 9 8 9
6 | 8 8 8 8 8 6 6 8 8 8
7 | 0 7 a 3 Q 9 8 7 8 9
8 | 8 8 8 8 8 8 8 8 8 8
9 | 8 9 8 9 9 9 8 9 8 9
有用な観察:
- 任意の数字とそれ自体が等しい
- 8 + 8に等しい数字
- 2に1、3、または7を加えたものは、文字「a」に等しい(小文字でなければなりません)
- 4プラス7は、選択した「q」または「Q」のいずれかに等しい
- 数字は右揃えにする必要があるため、数字は右から左に追加する必要があります。一方の数字がもう一方の数字よりも多い場合、先頭の余分な数字は変更しないでください。数値が正確に0でない限り、先行する0はありません。
- すべての数値は0以上になります。「-」記号を処理する必要はありません。(主に、「-」と「1」または「7」の合計に適したものがないためです。)
プログラムは、選択した任意の形式の2つの整数を受け入れ、この方法で計算されたときに「合計」を含む文字列を出力する必要があります。これはコードゴルフなので、プログラムはできるだけ小さくする必要があります。
例:
- 入力:12345、123。出力:12389
- 入力:88888、42。出力:88888
- 入力:0、23。出力:28
- 入力:120、240。出力:a80
- 入力:270、42。出力:2Q8(または2q8)
- 入力:1234567890、1234567890。出力:1234567890
Q小文字ではいけませんか?実際の形状は、qむしろQ
a確か以来、しかしケース低くなければならA完全に異なるルックス。