日期:2025年11月29日
ZeroJudge 題目連結:k475. 4或7的倍數
解題想法
先讀取第一行的數字 a, b 以及要輸出的字串 c。接下來一次讀取一行字串,依序檢查字串中的每個字元,計算這行之中有幾個 a 或 b 的倍數,或是數字之中含有 a 或 b,最後輸出對應數量的 c。這樣的檢查方式比較慢,但是寫起來很直接。
Python 程式碼
使用時間約為 5.4 s,記憶體約為 3.4 MB,通過測試。
import sys
a, b, word = sys.stdin.readline().split()
an = int(a); bn = int(b)
for line in sys.stdin:
line = line.strip()
n = len(line)
num = ""
cnt = 0
idx = 0
while idx < n:
c = line[idx]
if c.isdigit():
num += c
else:
if num.isdigit() and (a in num or b in num or int(num)%an == 0 or int(num)%bn == 0): cnt += 1
num = ""
idx += 1
if num.isdigit() and (a in num or b in num or int(num)%an == 0 or int(num)%bn == 0): cnt += 1
if cnt > 0: print(word*cnt)