import math import sympy from IPython.display import display sympy.init_printing() sympy.var("x") while True: try: a=int(input("a= ")) b=int(input("b= ")) break except ValueError: print("整数を入力") f=x**2+a*x+b print("問題は ",end="") display(f) print("その答は ",end="") answer1="(x{:+})(x{:+})" last=int(math.sqrt(abs(b)))+1 for i in range(1,last): if b%i == 0 and (i+b//i == a): print(answer1.format(i,b//i)) break if b%i == 0 and (-i-b//i == a): print(answer1.format(-i,-b//i)) break else: print("因数分解はできない。")