1. 程式人生 > 其它 >用Python模擬整數乘法的小學豎式計算方法

用Python模擬整數乘法的小學豎式計算方法

技術標籤:python列表python演算法

用Python模擬整數乘法的小學豎式計算方法

模擬整數乘法的小學豎式計算方法
示例:
在這裡插入圖片描述
關於這個計算的思路:
是將較小的數從個位開始,把每一位數乘以較大的乘數,得到的結果自取一行,逐行向前進一個位子,再最後豎著相加得到結果,用計算機可以直接得出結果,所以問題就是怎麼把過程按照正確的格式輸出出來,相關程式碼可以參考下面

a=int(input())
b=int(input())
c="*)"
d="----------------"
def do(a,b):
    kuan=len(str(a*b))
# 獲取計算結果的長度 i=0 print(str(max(a,b)).rjust(kuan)) # 第一行寫的是最大的乘數,總長度是計算結果的長度 print(c,str(min(a,b)).rjust(kuan-3)) # 第二行寫的是"*)"這個符號加上更小的乘數,靠右輸出,總長度是計算結果的長度 print(d) # 列印分割線 m=min(a,b) mm=list(map(int,reversed(str(m)))) # 計演算法則中較小的每個位的數都要乘大的數,所以把小的乘數倒序放到列表裡 for x in
mm: f1=x*max(a,b) # 計算列表的每一個數*大的乘數 print((str(f1)+" "*i).rjust(kuan)) # 每次計算都要輸出 i+=1 # 每輸出一次後面的空格都要加一次 print(d) # 再輸出一次分割線 print(a*b) # 輸出結果 do(a,b)