2022年9月28日 星期三

Python b603: 拋物線方程式

b603: 拋物線方程式


 輸入

四個整數 x1 y1 x2 y2 前兩個為頂點座標(x1, y1),後兩個為拋物線上一點座標 (x2, y2)


1 2 0 5

1 9 18 60


輸出

輸出 ay = bx^2 + cx + d 的式子,a 為正整數,b, c, d 為整數,a, b, c, d 為 1 時不必省略,等號和加號前後有空白


1y = 3x^2 + -6x + 5

17y = 3x^2 + -6x + 156


import math

A=[0]*4

#---------------------------------------------

print('-------b603: 拋物線方程式-------')

while True:

    try:

        A = [int(i) for i in input('\n輸入4个正整数) : ').split()]   # 將輸入的文字轉換成數字串列

        x1=int (A[0])

        x2=int (A[1])

        y1=int (A[2])

        y2=int (A[3])

        print (x1,x2,y1,y2)

        a = (y1 - x1) * (y1 - x1)

        b = (y2 - x2)

        g = math.gcd(a, b)

        b = b/g

        a = a/g

        c = -2 * b * x1

        d = b * x1 * x1 + a * x2

        print (a,b,c,d)

        e='{m}y = {n}x^2 + {o}x + {p}'

        print(e.format(m=a, n=b,o=c,p=d))

        

    except:

        break      


>>> %Run -c $EDITOR_CONTENT

-------b603: 拋物線方程式-------


輸入4个正整数) : 1 2 0 5

1 2 0 5

1.0 3.0 -6.0 5.0

1.0y = 3.0x^2 + -6.0x + 5.0


輸入4个正整数) : 1 9 18 60

1 9 18 60

17.0 3.0 -6.0 156.0

17.0y = 3.0x^2 + -6.0x + 156.0


輸入4个正整数) : 

>>> 

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...