問題
整数 a と b が 1 行に 1 つずつ、標準入力から届きます。a と b を足した数を 1 行で出してください。
- a と b は、どちらも -1000 以上 1000 以下の整数です
- 出すのは数だけです。説明の文や空白は付けません
入力と出力の例
例 1
入力
3
5出力
8例 2
負の数が来ても同じように足します。
入力
-2
7出力
5ヒント
ヒント 1
入力は 1 行ずつ読みます。Python なら input() を 2 回呼ぶと、1 行目と 2 行目が順に取れます。
ヒント 2
読み込んだ値は、見た目が数でも文字列です。そのまま足すと "3" + "5" で 35 になります。足す前に整数に変えます。
ここから解答です。先に自分で書いてみてから読むと、身につきやすくなります。
解答例
Python
Python
a = int(input())
b = int(input())
print(a + b)JavaScript
Node.js で動かす形です。標準入力を全部読み、行ごとに分けます。
JavaScript
const lines = require("fs")
.readFileSync(0, "utf8")
.trim()
.split("\n");
const a = Number(lines[0]);
const b = Number(lines[1]);
console.log(a + b);解説
この問題の要は、入力が文字列で届くことです。Python の input() も、JavaScript で読んだ標準入力も、中身はただの文字の並びです。
int() や Number() で数に変えてから足すと、数としての足し算になります。変えずに足すと、文字列どうしをつなげる働きになり、例 1 なら 35 が出ます。答えが合わないときは、まず値の型を疑います。
JavaScript の .trim() は、最後の改行を落とすためです。入力の最後には改行が付くことが多く、そのまま分けると空の行が 1 つ増えます。
計算の手間は、入力の大きさによらず一定です。
