Created
May 22, 2020 13:14
-
-
Save nyunerrr/bc3e7c41adb2f344da339ea0b6503a74 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def Q14(x1,y1,x2,y2): | |
a = (y2-y1)/(x2-x1) | |
b = y1-a*x1 | |
if(b>0): | |
s = ["y=",str(a),"x+",str(b)] | |
elif(b==0): | |
s = ["y=",str(a),"x"] | |
else: | |
s = ["y=",str(a),"x",str(b)] | |
return ''.join(s) | |
#おそらくこの問題が一番難しいでしょう。 | |
#指定のフォーマットを計算するためには、工夫が必要です。 | |
#2点の座標から一次関数を導く公式 | |
#y-y1 = (y2-y1)/(x2-x1) * (x-x1) を y = の形に変形します。傾きをaとおくと、 | |
#y = ax - ax1 + y1 | |
#となるので、b = ax1 + y1 とおき、a,bをそれぞれ計算します。 | |
#bの扱いにも注意が必要です。 | |
#bが正のとき、y=ax+b の + を余計に文字列に付け加える必要があります。 | |
#また、b=0のときに y=ax+0 などと出力すると間違えになります。 | |
#bが負のときは”-”がbの前につくので、"-"を付け加える処理をすると y=ax--b などと出力され、間違えになります。 | |
#あとは"y=","a","x","+or-","b" をこの順で連結させた文字列を出力すればいいです。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment