Immerhin gab es einen Vorgänger (vielleicht gibt es noch andere). **Toll! ** ** **
Es scheint, dass Sie Folgendes einbringen können, aber im Moment scheint es, dass ** Python-Interpreter nicht in </ font> ** eingebracht werden kann. Seien Sie also vorsichtig. Für Entwickler ist die Behauptung, dass die Entwicklungsumgebung wie ein Bleistift ist, ** nicht verständlich **. ** * Bringen Sie niemals etwas anderes als das, was erlaubt ist! </ font> **
*Schwarzer Bleistift(Beschränkt auf H, F, HB. Japanische Gedichte, Wörter usw. werden nicht gedruckt.), Bleistiftkappe.
*Druckbleistift(Nur für Memos und Berechnungen verfügbar, beschränkt auf schwarze Kerne.)
*Radiergummi aus Kunststoff
*Bleistiftspitzer(Elektrisch, groß und Messer sind nicht erlaubt.)
*Uhr(Elemente mit Funktionen wie Wörterbüchern, Taschenrechnern und Terminals, Elemente, bei denen es schwierig ist zu bestimmen, ob sie über solche Funktionen verfügen, Elemente, die einen gebrauchten Klang erzeugen, Küchenuhren und große Elemente sind nicht zulässig.)
*Gläser, Taschentücher, Augentropfen, Seidenpapier(Nur der Inhalt wird aus dem Beutel oder der Schachtel genommen.)
** Nur die erste Frage [1] des Prüfungszentrums für Hochschulzugangsprüfung 2017 Mathematik II / Mathematik B **.
Warum ich diese Frage gewählt habe: "Ich denke, ich kann diese Frage mit Python gewinnen."
** Frage 1 (erforderliche Frage) (Punktzahl 30) **
[1] Gleichzeitige Gleichungen
\left\{
\begin{array}{ll}
cos \, 2\alpha + cos \, 2\beta = \frac{4}{15} \quad\quad\quad\,\,\,\,...(1) \\
cos \, \alpha \, \, cos \, \beta = -\frac{2\sqrt{15}}{15} \quad\quad\quad\,\,\,\,\,...(2)
\end{array}
\right.
Denk an. Es ist jedoch $ 0 \ leqq \ alpha \ leqq \ pi, \ quad 0 \ leqq \ beta \ leqq \ pi $, $ \ alpha <\ beta $ und
|cos \, \alpha| \geqq |cos \, \beta| \quad\quad\quad\quad\quad\quad...(3)
Und. Lassen Sie uns zu diesem Zeitpunkt die Werte von $ cos , \ alpha $ und $ cos , \ beta $ ermitteln.
Unter Verwendung der Doppelwinkelformel aus (1)
cos^2 \alpha + cos^2 \beta = \frac{[Auge]}{[Ue]}
Wird erhalten. Auch aus (2),
cos^2 \alpha \, \, cos^2 \beta = \frac{[Oh]}{15}
Ist. Verwenden Sie daher Bedingung (3)
cos^2 \alpha = \frac{[Leistung]}{[Ki]} \quad, \quad\quad cos^2 \beta = \frac{[Ku]}{[Ke]}
Ist. Aus der Bedingung von (2) $ 0 \ leqq \ alpha \ leqq \ pi, \ quad 0 \ leqq \ beta \ leqq \ pi, \ quad \ alpha <\ beta $
cos \, \alpha = \frac{[Ko]\sqrt{[Bedienung]}}{[Shi]} \quad, \quad\quad cos \, \beta = \frac{[Su]\sqrt{[Se]}}{[Damit]}
Ist.
Angesichts der Gesamtmenge des Problems denke ich, dass dieses Problem wahrscheinlich schwerwiegend sein wird, wenn es nicht innerhalb von 6 oder 7 Minuten behoben wird. Stellen Sie in diesem Sinne die Gewinnbedingungen auf der Seite "Python + I" wie folgt ein.
Die als Referenz vorbereitete Umgebung ist wie folgt.
(Der gesamte ausgefüllte Code wird am Ende dieses Artikels veröffentlicht.)
Ich sage, dass ich die Doppelwinkelformel nicht verstehe Plötzlich wird es aus dem letzten $ cos \ alpha, cos \ beta $ berechnet. Sie sollten dies mit Python und SymPy tun können. Installieren Sie zuerst SymPy!
pip install sympy
Lösen wir alles auf einmal!
from sympy import symbols, expand, cos, Rational, sqrt, solve
#Symboldefinition. In diesem Problem werden α und β als Symbole von a bzw. b behandelt.
a, b = symbols('a b')
# (1)Wann(2)Jede Formel ist f1= 0, f2 = 0Wannなるような関数f1, f2Wannして定義。
#Danach cos(a)Und cos(b)Da es die simultanen Gleichungen in Bezug auf löst(1)Bereitstellen(expand)Ich werde das machen.
f1 = expand(cos(2*a) + cos(2*b) - Rational(4, 15), trig = True)
f2 = cos(a) * cos(b) + 2 * sqrt(15) / 15
#Gleichzeitige Gleichungen von f1 und f2, cos(a)Und cos(b)Lösen für(solve)。
answers = solve([f1, f2], [cos(a), cos(b)])
An diesem Punkt sollten "Antworten" einige Lösungen haben, aber finden Sie die gewünschte aus den Bedingungen.
$ 0 \ leqq \ alpha \ leqq \ pi, \ quad 0 \ leqq \ beta \ leqq \ pi $ mit der Bedingung $ \ alpha <\ beta $
Im Bereich von $ 0 \ leqq \ theta \ leqq \ pi $ wird $ cos \ theta $ kleiner, wenn $ \ theta $ größer wird
Suchen Sie eine Lösung, die $ cos \ alpha> cos \ beta $ lautet.
Und,(3)Bedingungen
Da der absolute Wert herausgekommen ist, fügen Sie ihn zu "import" hinzu.
from sympy import symbols, expand, cos, Rational, sqrt, solve, Abs
Danach werden wir aus der Liste der in "Antworten" enthaltenen Lösungssätze nach dem Lösungssatz suchen, der die Bedingungen erfüllt. In der "if" -Anweisung wird die Bedingung einfach in einen bedingten Ausdruck umgewandelt.
# 0 <= a <= π, 0 <= b <=In π a,Das größere b ist cos(a), cos(b)Der Wert von wird kleiner.
# a <b, also cos(a) > cos(b)Suchen Sie nach etwas, das sein wird.
#Und,(3)Finden Sie diejenige, die die Bedingungen von erfüllt.
for cos_a, cos_b in answers:
if cos_a > cos_b and Abs(cos_a) >= Abs(cos_b):
break
Dies gibt Ihnen $ cos \ alpha, cos \ beta $.
#Ziel cos(a)Und cos(b)Ich habe es, also werde ich es anzeigen([Ko][Bedienung][Shi][Su][Se][Damit]Antworten)。
print("[Kosashi] -> {}, [Suseso] -> {}".format(cos_a, cos_b))
Fragen Sie einfach nach $ cos ^ 2 \ alpha, cos ^ 2 \ beta $ und $ cos ^ 2 \ alpha + cos ^ 2 \ beta $, $ cos ^ 2 \ alpha , , cos ^ 2 \ beta $ Da $ cos \ alpha und cos \ beta $ bereits berechnet wurden, können sie einfach durch Berechnung berechnet werden.
# cos(a)Und cos(b)Finde das Quadrat von jedem.
squared_cos_a = cos_a ** 2
squared_cos_b = cos_b ** 2
# cos(a)Quadrat und cos(b)Zeigt das Quadrat von([Leistung][Ki][Ku][Ke]Antworten)。
print("[Auster] -> {}, [Kuke] -> {}".format(squared_cos_a, squared_cos_b))
# cos(a)Quadrat und cos(b)Zeigt auch die Summe und das Produkt der Quadrate von an([EIN][ich][C.][D.][Oh]Antworten)。
print("[Aiue] -> {}".format(squared_cos_a + squared_cos_b))
print("[Oh] -> {}".format(squared_cos_a * squared_cos_b))
(Der gesamte ausgefüllte Code wird am Ende dieses Artikels veröffentlicht.)
Die Zeit, die zum Ausführen des fertigen Python-Codes benötigt wurde (die Zeit, um alle Lösungen zu finden), beträgt In meiner Umgebung waren es ** weniger als 400 Millisekunden ** (genau zu dem Zeitpunkt, seit der Code ausgeführt wurde).
Die für die Codierung erforderliche Zeit betrug jedoch ** 14 Minuten 41 Sekunden 524 ** Es war eine völlige Niederlage auf der Python-Seite (oder mir), eine überwältigende Niederlage. .. ..
(Da dieser Artikel selbst nach Abschluss des Spiels mit dem Schreiben begonnen hat, ist die Schreibzeit des Artikels nicht enthalten.)
from sympy import symbols, expand, cos, Rational, sqrt, solve, Abs
import time
#Ich möchte die Zeit ausgeben, die zum Lösen benötigt wurde. Denken Sie also an das erste Mal.
offset = time.time()
#Symboldefinition. In diesem Problem werden α und β als Symbole von a bzw. b behandelt.
a, b = symbols('a b')
# (1)Wann(2)Jede Formel ist f1= 0, f2 = 0Wannなるような関数f1, f2Wannして定義。
#Danach cos(a)Und cos(b)Da es die simultanen Gleichungen in Bezug auf löst(1)Bereitstellen(expand)Ich werde das machen.
f1 = expand(cos(2*a) + cos(2*b) - Rational(4, 15), trig = True)
f2 = cos(a) * cos(b) + 2 * sqrt(15) / 15
#Gleichzeitige Gleichungen von f1 und f2, cos(a)Und cos(b)Lösen für(solve)。
answers = solve([f1, f2], [cos(a), cos(b)])
# 0 <= a <= π, 0 <= b <=In π a,Das größere b ist cos(a), cos(b)Der Wert von wird kleiner.
# a <b, also cos(a) > cos(b)Suchen Sie nach etwas, das sein wird.
#Und,(3)Finden Sie diejenige, die die Bedingungen von erfüllt.
for cos_a, cos_b in answers:
if cos_a > cos_b and Abs(cos_a) >= Abs(cos_b):
break
#Ziel cos(a)Und cos(b)Ich habe es, also werde ich es anzeigen([Ko][Bedienung][Shi][Su][Se][Damit]Antworten)。
print("[Kosashi] -> {}, [Suseso] -> {}".format(cos_a, cos_b))
# cos(a)Und cos(b)Finde das Quadrat von jedem.
squared_cos_a = cos_a ** 2
squared_cos_b = cos_b ** 2
# cos(a)Quadrat und cos(b)Zeigt das Quadrat von([Leistung][Ki][Ku][Ke]Antworten)。
print("[Auster] -> {}, [Kuke] -> {}".format(squared_cos_a, squared_cos_b))
# cos(a)Quadrat und cos(b)Zeigt auch die Summe und das Produkt der Quadrate von an([EIN][ich][C.][D.][Oh]Antworten)。
print("[Aiue] -> {}".format(squared_cos_a + squared_cos_b))
print("[Oh] -> {}".format(squared_cos_a * squared_cos_b))
#Zeigt die Zeit an, die zum Lösen benötigt wurde.
elapsed = time.time() - offset
print('Zeit zum Lösen gebraucht: {0:.4f}Millisekunde'.format((elapsed * 1000)))
Recommended Posts