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
微信扫码关注
抖音扫码关注