不如枚举来的简单粗暴, 细节多一点.看成一个解方程找0点的问题.分三类方程无解,判别式<0.有解,但是解中存在无理数.存在有理数解.只有第3种情况合法. 简单移项后可以得到初步答案. 但因为本质是解一个f(x)=0的方程, 所以和原始方程在倍数上和符号上不一定完全等价. 于是先求gcd除去公因数(gcd主要保证后面倍数一定不出现分数)再a/(a1*a2)求一个和原始式子差的倍率r. import math for _ in range(int(input())): a, b, c = map(int, input().split()) delta = b**2 - 4 ...