iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0

今天也是要讓大家來練習,那我們就開始今天的進度吧!

題目

畢氏三元數,是指三角形中,兩股ab、斜邊c,符合a^2+b^2=c^2的三角形,也就是直角三角形,並且為整數,的三個數字(a,b,c)。例如:(3,4,5)就是畢氏三元數。

問題:找出一組畢氏三元數,其中 a+b+c = 1000,求a,b,c三數的乘積。

https://ithelp.ithome.com.tw/upload/images/20210923/20140468i2PB1umOE0.png

for a in range(500):
    for b in range(500):
        for c in range(500):
            if (a**2+b**2==c**2) and a+b+c==1000:
                print(a*b*c)

首先我是用三個for迴圈,分別是abc,那之所以我會把迴圈的次數設在500就是因為我們可以知道周長1000的三角形,邊長是不可能大於500的,那再來就是嘗試每種abc的組合有沒有符合條件,就是兩邊平方等於第三邊平方、周長等於1000,那再來找到之後,就把abc乘起來,最後打印。

數學補充

這一個是我之前都沒有講到的,那我整理在下面給大家參考。

int() 強制轉換為整數。
float() 強制轉換為浮點數。
str() 強制轉換為字串

上一篇
Python math 套件
下一篇
Python 練習
系列文
一起來探索Python語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言