#53659: 可以窮舉 也能DP


11155088@gs.hs.ntnu.edu.tw (ace1110)

學校 : 不指定學校
編號 : 298370
來源 : [118.169.28.170]
最後登入時間 :
2025-09-24 21:58:03

窮舉(迴圈)

while True:
  num = int(input())

  # 測資結束
  if num == 0:
    break
  else:

    # 輸出以空白分隔的數字 最後換行
    for i in range(1, num):
      if (i % 7) != 0: print(i, end = " ")
    print()

利用range

while True:
    num = int(input())
    if num == 0:
        break
    nums = [str(i) for i in range(1, num) if i % 7 != 0]
    print(" ".join(nums))

DP動態追加+查表(吃記憶體)

dp = [""]  # dp[0] = 空字串

while True:
    num = int(input())
    if num == 0:
        break

    # 動態擴充
    while len(dp) <= num:
        n = len(dp)
        if n % 7 != 0:
            if dp[-1] == "":
                dp.append(str(n))
            else:
                dp.append(dp[-1] + " " + str(n))
        else:
            dp.append(dp[-1])