# 商と余りのしくみと引き算ループによる求め方

## 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