# 商と余りのしくみと引き算ループによる求め方
## 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