# 商と余りのしくみと引き算ループによる求め方
## 1. 商と余りとは?
ある整数 A を整数 B で割ると、「商(しょう)」と「余り(あまり)」が出ます。
例:
17 ÷ 5 = 3 あまり 2
→ 商 = 3(5を3回引ける)
→ 余り = 2(17 - 15 = 2)
これを数式で表すと:
A = B × 商 + 余り
例:
17 = 5 × 3 + 2
## 2. プログラムでの表記(擬似言語)
- A div B:商(整数部分)
- A mod B:余り
例:
17 div 5 = 3
17 mod 5 = 2
## 3. 練習問題:日常的な例
問題:
りんごが23個あります。4人で均等に配ると?
答え:
23 ÷ 4 = 5 あまり 3
→ 商 = 5、余り = 3
→ 式:23 = 4 × 5 + 3
## 4. 式の分かりやすい読み方
A = B × 商 + 余り
→ 「全体」=「グループの数」×「1グループの大きさ」+「余り」
例:
24 = 6 × 4 + 0(余りなし)
25 = 6 × 4 + 1(余りあり)
## 5. 引き算ループによる商と余りの求め方
除算命令を使わずに商と余りを求めるには、繰り返し引き算を使う方法があります。
初期設定:
A ← 被除数(例:17)
B ← 除数(例:5)
商 ← 0
余り ← A
アルゴリズム(擬似言語):
WHILE 余り ≥ B DO
余り ← 余り - B
商 ← 商 + 1
END WHILE
結果:
商と余りが求まる
実行イメージ:
初期:余り=17, 商=0
1回目:余り=12, 商=1
2回目:余り=7, 商=2
3回目:余り=2, 商=3(終了)
→ 商 = 3、余り = 2
→ 式:17 = 5 × 3 + 2
## 6. まとめ表
表現 |
意味 |
-------------- |
---------------------------- |
A = B×商+余り |
商と余りの基本式 |
A div B |
商 |
A mod B |
余り |
引き算ループ |
商:何回引けたか、余り:残り |
## 7. 練習問題
[問1]
A = 20、B = 6 のとき、商と余りを求めよ。
→ 20 ÷ 6 = 3 あまり 2
→ 式:20 = 6 × 3 + 2
[問2]
次のループで商と余りを求めよ(A = 19、B = 4)
商 ← 0
余り ← A
WHILE 余り ≥ B DO
余り ← 余り - B
商 ← 商 + 1
END WHILE
→ 商 = 4、余り = 3
→ 式:19 = 4 × 4 + 3
[問3]
A = 7 × 5 + 3 の式を完成させよ。
→ A = 35 + 3 = 38
## 8. ポイント整理
- 商と余りは、A = B × 商 + 余り という形で常に表せる
- プログラムでは div と mod を使う
- 除算が使えない場合、繰り返し引き算で求められる
- この手法はアルゴリズム問題でよく出題される
最終更新:2025年07月26日 23:28