⼆次⽅程式aX^2+bX+c=0の解を求めるプログラムを作成しているのですが、解が虚数解となる時に虚部が少数となってしまため、分数で表す方法を教えていただきたいです
プログラミング初心者です。現在Colaboratoryというサイトでpythonを用いてプログラミングの学習を行っています。今回、⼆次⽅程式aX^2+bX+c=0の解を求めるプログラムを作成しているのですが、判別式b^2-4ac<0となる、虚数解を持つ時に実部も虚部も分数となることを期待したのですが、少数で表示されてしまいます。また、実数解として仮に3と4を持つとすると、3.0,4.0と表示され、こちらも小数点を除いた3,4で表示されるようにしたいです。方法があれば教えてください。また、作成したプログラミングの改善点があれば指摘してくださるとありがたいです。
作成したプログラム
python
1import math 2a=int(input("aに入る数字を入力してください")) 3b=int(input("bに入る数字を入力してください")) 4c=int(input("cに入る数字を入力してください")) 5d=b*b-4*a*c 6if a==0: 7 if b == 0: 8 print("解なし") 9 else: 10 print("解は",-c/b) 11elif d<0: 12 s3=-b/(2*a) 13 s4=math.sqrt(-1*(d))/(2*a) 14 print(s3,"+",s4,"i") 15 print(s3,"-",s4,"i") 16elif d==0: 17 print("解は",-b/(2*a)) 18else: 19 s1=(-b+math.sqrt(d))/(2*a) 20 s2=(-b-math.sqrt(d))/(2*a) 21 print("解は",s1,s2) 22 23
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。