[PYTHON] Programmierproblemsammlung (Q11 bis Q15)

Frage 11: Teilproduktionsmethode (rechteckige Näherung)

Es gibt eine rechteckige Approximation, ein Trapezgesetz, ein Simpson-Gesetz usw. als Teilungsproduktionsmethode, um die Integration numerisch zu erhalten. Unter diesen wird in der rechteckigen Näherung die Summe des Rechtecks, das durch Multiplizieren des Wertes $ f (x_i) $ an einem bestimmten Punkt $ x_i $ mit der Breite $ h $ erhalten wird, als integrierter Wert angenähert.

定積分

Lösen Sie die obige Gleichung numerisch mit einer rechteckigen Näherung.

Antwortbeispiel

Frage 12: Teilproduktionsmethode (Trapezregel)

Es gibt eine rechteckige Approximation, ein Trapezgesetz, ein Simpson-Gesetz usw. als Teilungsproduktionsmethode, um die Integration numerisch zu erhalten. Nach der Trapezregel ist die Breite $ um $ f (x_i) $ und $ f (x_ {i-1}) $ an einem bestimmten Punkt $ x_i $ und dem Punkt davor $ x_ {i-1} $ </ sub> Die Summe der Trapezoide von h $ wird als integrierter Wert angenähert.

定積分

Lösen Sie die obige Gleichung numerisch mit dem Trapezgesetz.

Antwortbeispiel

Frage 13: Teilproduktionsmethode (Simpsonsches Gesetz)

Es gibt eine rechteckige Approximation, ein Trapezgesetz, ein Simpson-Gesetz usw. als Teilungsproduktionsmethode, um die Integration numerisch zu erhalten. Nach dem Simpsonschen Gesetz wird eine quadratische Funktion abgeleitet, die einen bestimmten Punkt $ x_i $, einen Punkt davor $ x_ {i-1} $ und einen Punkt danach $ x_ {i + 1} $ durchläuft, und ihr $ f (x_ { i-1}) Integrierter Wert von $ bis $ f (x_ {i + 1}) $ $ h (f (x_ {i + 1}) + 4f (x_i) + f (x_ {i-1})) Ungefähre Summe von / 3 $ als integrierter Wert.

定積分

Lösen Sie die obige Gleichung numerisch nach dem Simpsonschen Gesetz.

Antwortbeispiel

Frage 14: Eratostenes-Sieb

Erstellen Sie eine Funktion, die die Anzahl der Primzahlen zurückgibt, die kleiner oder gleich $ n $ sind, wenn Sie die Ganzzahl $ n $ eingeben. Erklären Sie auch den Algorithmus.

Jedoch,

Und.

Beispiel 14-1

n = 10
4

Beispiel 14-2

n = 100
25

Beispiel 14-3

n = 1000
168

Beispiel 14-4

n = 10000
1229

Beispiel 14-5

n = 100000
9592

Antwortbeispiel

Frage 15: Anzahl der Gitterpunkte

Auf der euklidischen Ebene gibt es zwei Gitterpunkte $ P = (x_1, y_1) $, $ Q = (x_2, y_2) $. Erstellen Sie eine Funktion im Liniensegment $ PQ $, um zu berechnen, wie viele Gitterpunkte zusätzlich zu $ P $ und $ Q $ vorhanden sind. Erklären Sie auch den Algorithmus.

Jedoch,

Und.

[Hinweis] Sie können das Problem reduzieren, das maximale Engagement zu finden. Es kann effizient durch "Euklidische Methode der gegenseitigen Teilung" gelöst werden. </ font>

Beispiel 15-1

x1 =  -2
y1 =  -9
x2 =  6
y2 =  7
7
#Illustriert und bestätigt
%matplotlib inline
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([x1, x2], [y1, y2])
ax.set_xticks(range(x1, x2 + 1, 1))
ax.set_yticks(range(y1, y2 + 1, 1))
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.grid()

9-1.png

Beispiel 15-2

x1 =  -42
y1 =  -65
x2 =  62
y2 =  -91
25

Beispiel 15-3

x1 =  908
y1 =  -307
x2 =  -86
y2 =  -679
0

Beispiel 15-4

x1 =  -6326
y1 =  3211
x2 =  7048
y2 =  5822
0

Beispiel 15-5

x1 =  -9675
y1 =  -2803
x2 =  3828
y2 =  -6349
2

Referenz: Wie man ein Beispiel macht

import random
x1 = random.randint(-1000000, 1000000)
y1 = random.randint(-1000000, 1000000)
x2 = random.randint(-1000000, 1000000)
y2 = random.randint(-1000000, 1000000)

print("x1 = ", x1)
print("y1 = ", y1)
print("x2 = ", x2)
print("y2 = ", y2)

Antwortbeispiel

  • https://qiita.com/maskot1977/private/10bac9b3829fefcd286f

Recommended Posts

Sammlung von Programmierproblemen (Q16 bis Q20)
Programmierproblemsammlung (Q11 bis Q15)
Sammlung von Programmierproblemen (Q31-Q35)
Programmierproblem "4 Queen Square"
AOJ Einführung in die Programmierung Thema Nr. 1, Thema Nr. 2, Thema Nr. 3, Thema Nr. 4
AOJ Einführung in die Programmierung Thema Nr. 7, Thema Nr. 8
AOJ Einführung in die Programmierung Thema Nr. 5, Thema Nr. 6
Eine Einführung in die Python-Programmierung
Programmieren, um in der Welt zu kämpfen ~ 5-1
Programmierung, um in der Welt zu kämpfen ~ 5-5,5-6
Programmieren, um in der Welt zu kämpfen 5-3
[Einführung in Python3 Tag 1] Programmierung und Python
Programmierung aus Büchern gelernt 10. Mai
Programmierung für den Kampf in der Welt - Kapitel 4
Websites, die Ihnen beim Erlernen der Programmierung helfen
Programmierung aus Büchern gelernt 7. Mai
Programmieren, um in der Welt zu kämpfen ~ 5-2