輕鬆學Python

Day-5: 除法的商數與餘數

目的

學習如何使用%來求正整數除法中的餘數

說明

看到%第一個直覺可能是百分比,這是對的。不過,在程式語言中,%就不是百分比的意思,而是餘數。那什麼是餘數呢?就是除法中,除不盡剩下的數。如果還是搞不清楚的話,讓我們來看看下面的例子有沒有辦法幫你更了解餘數。

例1:12塊餅乾分給三個人吃,試問一個人可以吃多少?還有剩下的嗎?

程式碼

#-*- coding: utf-8 -*-   
#使用 utf-8 編碼
#-*- coding: cp950 -*- 
#使用 Big5 編碼(windows 下使用) 
a = 12
b = 3 
c = a / b
d = a % b
print "a = ", a, " and b =", b
print "a / b 的商數 = ", c  # 商數
print "a / b 的餘數= ", d,"(若為0,表示可整除)"

執行結果

a =  12  and b = 3
a / b 的商數 =  4
a / b 的餘數=  0 (若為0,表示可整除)

例1答案:12/3=4 餘0。所以一個人可吃三塊餅乾,沒有剩餘的。

例2:14塊餅乾分給三個人吃呢?

程式碼

#-*- coding: utf-8 -*-   
#使用 utf-8 編碼
#-*- coding: cp950 -*- 
#使用 Big5 編碼(windows 下使用) 
a = 14
b = 3 
c = a / b
d = a % b
print "a = ", a, " and b =", b
print "a / b 的商數 = ", c  # 商數
print "a / b 的餘數= ", d,"(若為0,表示可整除)"

執行結果

a =  14  and b = 3
a / b 的商數 =  4
a / b 的餘數=  2 (若為0,表示可整除)

例1答案:14/3=4 餘2。所以一個人可吃三塊餅乾,還會剩下2塊餅乾。

數學表示式

假設a和b都是正整數的話,

a = (b) * (a/b) + (a%b)

這邊a是被除數,b是除數,那a/b就是商數,而a%b是餘數。所以,

被除數 = (除數) 乘以 (商數) + (餘數)

本單元結論

  • 正整數除法中,a/b就是商數,而a%b是餘數