Skip to content

Python 403 倍數總和計算

Python TQC

題目說明:

請撰寫一程式,讓使用者輸入兩個正整數a、b(a<=b),輸出從a到b(包含a和b)之間4或9的倍數(一列輸出十個數字、欄寬為4、靠左對齊)以及倍數之個數、總和。

範例輸入1
5
55

範例輸出1

8   9   12  16  18  20  24  27  28  32  
36  40  44  45  48  52  54  
17
513

範例輸入2

4
9

範例輸出2

4   8   9   
3
21

題目解析

問題分析

  • 輸入:使用者輸入兩個正整數 a、b(a <= b)。
  • 輸出:輸出從 a 到 b(包含 a 和 b)之間 4 或 9 的倍數(一列輸出十個數字、欄寬為 4、靠左對齊)以及倍數之個數、總和。

解題思路

  1. 使用兩個變數來儲存使用者的輸入。
  2. 使用一個迴圈來遍歷從 a 到 b 的所有數字。
  3. 使用 if 判斷式來判斷每個數字是否是 4 或 9 的倍數。
  4. 如果是 4 或 9 的倍數,則將其加入列表中,並累加總和。
  5. 輸出列表中的數字、列表的長度和總和。

思考方向

  • 如何使用迴圈來遍歷從 a 到 b 的所有數字?
  • 如何使用 if 判斷式來判斷一個數字是否是 4 或 9 的倍數?
  • 如何輸出列表中的數字、列表的長度和總和?

Solution

a = eval(input())
b = eval(input())
SUM = 0
l = []
for i in range(a, b+1):
    if((i % 4 == 0) | (i % 9 ==0)):
        SUM += i
        l.append(i)
for i in range(len(l)):
    print("{:<4d}".format(l[i]), end = "")
    if((i + 1) % 10 == 0):
        print()
print()
print(len(l))
print(SUM)
a, b = eval(input()), eval(input())  # 輸入兩個正整數
multiples = []  # 用於存儲4或9的倍數
total_sum = 0   # 用於累加所有4或9的倍數

for num in range(a, b+1):  # 遍歷從a到b的所有數字
    if num % 4 == 0 or num % 9 == 0:  # 判斷是否為4或9的倍數
        multiples.append(num)  # 添加到列表
        total_sum += num  # 累加到總和

# 輸出倍數列表
for i in range(0, len(multiples), 10):  # 每行輸出10個數字
    print(''.join(f'{num:<4}' for num in multiples[i:i+10]))

print(len(multiples))  # 輸出倍數個數
print(total_sum)  # 輸出總和

Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments