a058: MOD3
這篇教學會示範 ZeroJudge 基礎題庫「a058: MOD3」的解題過程。
題目需求
題目會提供一連串的數字,透過程式判斷哪些數字是 3 的倍數,哪些是 3 的倍數 + 1,哪些是 3 的倍數 + 2。
題目連結:a058: MOD3
解答
雖然題目是 3 的倍數 + 1 或 3 的倍數 + 2,實際上就是除以 3 的餘數為 1 或 2,只要透過 if 邏輯判斷,就能得到最後的結果。
while True:
try:
n = int(input()) # 將輸入的文字轉換成數字 ( 再來會出現幾個數字 )
arr = [0, 0, 0] # 建立一個 [0, 0, 0] 的串列
for i in range(n): # 讓題目可以出現幾次數字
a = int(input()) # 將輸入的文字轉換成數字
if a%3 == 0: # 如果是 3 的倍數
arr[0] = arr[0] + 1 # arr 的第一項增加 1
if a%3 == 1: # 如果是 3 的倍數加 1 ( 除以 3 後餘數為 1 )
arr[1] = arr[1] + 1 # arr 的第二項增加 1
if a%3 == 2: # 如果是 3 的倍數加 2 ( 除以 3 後餘數為 2 )
arr[2] = arr[2] + 1 # arr 的第三項增加 1
for i in arr:
print(i, end=' ') # 印出最後結果
except:
break
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~