二進数の加算

文字列として与えられた2つの二進数があり、その和を二進数表現で出力するプログラムを作成する問題です。

入力

最初の行に最初の二進数文字列 a (1 ≤ |a| ≤ 10,000) が与えられます。
2行目に2つ目の二進数文字列 b (1 ≤ |b| ≤ 10,000) が与えられます。

出力

2つの二進数 a + b の合計を、二進数文字列として出力してください。

入力
出力
1101 1011
11000
101 11
1000

二進数加算のチュートリアル

十進数の足し算と同じように、二進数でも加算を行うことができます。二進数の足し算は、扱う数字が 0 と 1 しかない分、逆にシンプルです。押さえるべき基本的なルールは4つだけです:
  1. 0 + 0 = 0
  1. 1 + 0 = 1
  1. 0 + 1 = 1
  1. 1 + 1 = 10 (いわゆる 1 を繰り上げて 0 を書くイメージです)

二進数加算の例

次の例では、101110 を足し算する方法を示します:
←←←←    計算は右端の桁から行います
  101
+ 110
------
 1011
これは十進数換算でいう 5 + 6 = 11 に相当し、二進数では 1011 となります。右端から順番に計算すると:
  • 1 + 0 = 1
  • 0 + 1 = 1
  • 1 + 1 = 10 (0 を書いて 1 を繰り上げ)
  • 最も左の桁に繰り上げた 1 を加えます。
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue