** * Willkommen, wenn es Verbesserungen gibt, also danke. ** ** **
Nach dem Studium habe ich darüber nachgedacht, ein automatisches Faktorisierungsgerät herzustellen, aber der Quellcode ist nicht schön. .. .. Obwohl es an einigen Stellen voller Gefühle ist, wurde eine Quelle fertiggestellt, die auf der mathematischen Grundstufe der Junior High School berücksichtigt werden kann.
Es kann besser sein, aus dem Faktorsatz zu faktorisieren. Ich bin in Schwierigkeiten, wenn ich viele Minuten Zeit habe, also frage ich mich, ob ich es stetig tun muss.
Wenn Sie den folgenden Quellcode verwenden, erledigt der Computer dies für Sie auf der Mathematikstufe der Mittelstufe, sodass Sie möglicherweise Ihre Hausaufgaben machen können! ??
Ich hoffe, dass es möglich sein wird, Folgendes zu faktorisieren. STEP1 scheint nicht viel Zeit in Anspruch zu nehmen, aber ich bin heute müde, also bin ich zur Mathematik der Mittelschule gegangen.
STEP1 : (a+c)x**2 + (ad+bc)x + bd = (ax+b)(cx+d) SCHRITT 2: Faktorzerlegung der kubischen Gleichung unter Verwendung des Faktorsatzes SCHRITT 3: Umfassen Sie andere Ebenen von Fragen, die in Aufnahmeprüfungen für Universitäten gestellt werden
Wenn Sie den Eingabewert an den folgenden Code übergeben, wird die Faktorisierungsformel ausgegeben.
[Eingaberegeln] ① Lassen Sie zwischen dem Zeichen und dem Ausdruck ein Leerzeichen (2) Im Fall von 1 * x wird 1 normalerweise weggelassen, aber es wird als 1x beschrieben.
(Beispiel)
input
x**2 - 20x + 96
output
(x - 12)(x - 8)
input
x**2 - 9
output
(x + 3)(x - 3)
input
x**2 - 4x + 4
output
(x - 2)**2
import math
a = 0
b = 0
jud1 = "+"
jud2 = "+"
nums = input().split()
if len(nums) <= 3:
a = int(math.sqrt(int(nums[2])))
print("(x + " + str(a) + ")(x - " + str(a) + ")")
else:
if nums[3] == "-":
nums[4] = int(nums[4])*(-1)
li = list(nums[2].split("x"))
if nums[1] == "-":
li[0] = int(li[0])*(-1)
for i in range(-100,100):
if (i * (int(li[0]) - i)) == int(nums[4]):
a = i
b = int(li[0]) - i
if a < 0:
jud1 = "-"
if b < 0:
jud2 = "-"
if a == b:
print("(x " + jud1 , str(abs(a)) + ")**2")
else:
print("(X " + jud1 , str(abs(a)) + ")(x " + jud2 , str(abs(b)) + ")")
Da es ein Anfänger ist, gibt es vielleicht einen einfachen Weg, es zu finden, aber ich denke, es wäre klüger, wenn ich die Koeffizienten jedes Terms (vorzugsweise einschließlich des Codes) ** leicht extrahieren könnte. Erstellen Sie außerdem zwangsweise ein Muster mit nur zwei Begriffen, z. B. "x ** 2 -9".
if len(nums) <= 3:
a = int(math.sqrt(int(nums[2])))
print("(x + " + str(a) + ")(x - " + str(a) + ")")
Es ist der unangenehmste Ort zu sagen. Ich konnte es bisher bestehen, aber ich frage mich, was ich tun soll, weil ich in Schwierigkeiten bin, wenn so etwas wie hey x ** 3-8 herauskommt.