整数の足し算と引き算
ここでは、整数同士の足し算や引き算について見ていきます。小学校や中学校で学ぶ内容がメインです。C++を前提として説明しています。
正の整数を足す
ある整数に対して、何回かインクリメントを行ってみます。
#include <iostream>
using namespace std;
int main() {
int a = 3, b = 5;
for (int i = 0; i < b; i++) a++;
cout << a; // 8
return 0;
}
a + b
で表します。そのため、上の計算は次のように書きます。
#include <iostream>
using namespace std;
int main() {
int a = 3, b = 5;
cout << a + b; // 8
return 0;
}
足し算は、「
足し算は、加算や加法ともいいます。足し算の答えのことを、和(sum) といいます。先ほどの計算は、「
ここでは説明のためにインクリメントを使いましたが、足し算をインクリメントで書くことはありません。
なお、
if
文の使い方がわかっているなら、AtCoder ABC 091 A - Two Coinsができるでしょう。
正の整数を引く
ある整数に対して、何回かデクリメントを行ってみます。
#include <iostream>
using namespace std;
int main() {
int a = 7, b = 4;
for (int i = 0; i < b; i++) a--;
cout << a; // 3
return 0;
}
a - b
で表します。そのため、上の計算は次のように書きます。
#include <iostream>
using namespace std;
int main() {
int a = 7, b = 4;
cout << a - b; // 3
return 0;
}
引き算は、「
引き算は、減算や減法ともいいます。引き算の答えのことを、差(difference) といいます。先ほどの計算は、「
なお、
足し算と引き算は、やっていることが反対なので、
文字の扱いがわかっているなら、正の整数同士の足し算と引き算がわかれば、AtCoder ABC 050 A - Addition and Subtraction Easyができるでしょう。
負の整数を足す
正の整数を足す計算では、
正の整数のときと同じように考えれば、-5回だけインクリメントすることになりますが、これはわかりづらいですね。
そこで、インクリメントする回数を減らしていくとどうなるかを考えてみます。インクリメントする回数を 5回、4回、3回と減らしていくと、和は、8、7、6 と、1ずつ減っていきます。増やすのをやめるのだから、結果は減っていくわけです。
-5 が 0 より 5 だけ小さいことを考えれば、「-5回インクリメントする」ことは、「5回デクリメントする」ことと同じになることがわかります。実際に、a + b
の結果とデクリメントした結果とを比べてみましょう。
#include <iostream>
using namespace std;
int main() {
int a = 3, b = -5;
cout << a + b << "\\n"; // -2
for (int i = 0; i < abs(b); i++) a--;
cout << a; // -2
return 0;
}
同じ結果になっています。なお、 abs
は、絶対値を表す関数です(参考:数の大小)。
整数
負の整数を引く
正の整数を引く計算では、
今回も、-4回だけデクリメントするのは考えづらいので、デクリメントする回数を減らしていくとどうなるかを考えてみます。
デクリメントする回数を 4回、3回、2回と減らしていくと、差は、3、4、5 と、1ずつ増えていきます。減らすのをやめるのだから、結果は増えていきます。
-4 は 0 を 4 減らしたものなので、「-4回デクリメントする」ことは、「4回インクリメントする」ことと同じになります。実際に、a - b
とインクリメントした結果とを比べてみましょう。
#include <iostream>
using namespace std;
int main() {
int a = 7, b = -4;
cout << a - b << "\\n"; // 11
for (int i = 0; i < abs(b); i++) a++;
cout << a; // 11
return 0;
}
同じ結果になっています。
ある整数
なぜ負の数を引くとプラスになるか
ここまで見た4つの計算の中で、一番わかりにくいのは、負の数の引き算でしょう。どうして負の数を引くとプラスになるのでしょうか。これを考えるには、気温を使ってみるといいです。すでに日常でもこの計算を行っているはずだからです。
天気予報で気温の予報を見たとします。明日の最高気温が20度で、今日と比較して+5度だとすると、今日の最高気温は
同様に考えれば、明日の最高気温の予想が20度で、今日と比較して-5度だったとすると、今日の最高気温は
気温のことを考えれば、負の数を引くことは、正の数を足すことと同じになることが分かると思います。
おわりに
ここでは、整数の足し算・引き算について見てきました。負の引き算が、符号を変えて足す点以外は、難しいところは少ないと思います。競プロでは、これらの計算を手で行うことはないですが、基本的な計算なのでできておいたほうがいいでしょう。
数学の内容として学びたい場合は、【導入】気温と負の数の引き算のページと、このページの下にある関連ページを見てみましょう。