mit Hilfe der Halle) - Seite 2

 
Richie: Die Progressionsformel ist jedoch mit bloßem Auge leicht zu erkennen: Y = int(8,3069*e^(0,1825*x)+0,5).

Auch das kann in die Annalen eingehen. Gut.

Nur ist es wohl nicht "ungefähr offensichtlich" (das ist ein großer Zungenbrecher!), sondern "ungefähr offensichtlich für das bloße Auge" :)

 

Natürlich können Sie das. Die Leute verstehen überhaupt keine Witze. Wir sehen uns, wenn du nüchtern bist und dich an meinen Zustand gewöhnt hast :)

Hier ist ein weiterer Witz für Sie. Das Programm funktioniert, aber ich würde Ihnen nicht raten, es auszuführen.

Private Sub Command1_Click()
Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim i5 As Integer
Dim i6 As Integer
Dim i7 As Integer
Dim i8 As Integer
Dim sum As Long
For i1 = 0 To 30
For i2 = 0 To 30
For i3 = 0 To 30
For i4 = 0 To 30
For i5 = 0 To 30
For i6 = 0 To 30
For i7 = 0 To 30
For i8 = 0 To 30
 sum = Chisla(i1) + Chisla(i2) + Chisla(i3) + Chisla(i4) + Chisla(i5) + Chisla(i6) + Chisla(i7) + Chisla(i8)
   If sum = Int(Val(Text1.Text)) Then
   Print i1; i2; i3; i4; i5; i6; i7; i8
   End If
Next i8
Next i7
Next i6
Next i5
Next i4
Next i3
Next i2
Next i1
End Sub


Private Function Chisla(Nomer As Integer)
If Nomer = 0 Then Chisla = 0
If Nomer = 1 Then Chisla = 10
If Nomer = 2 Then Chisla = 12
If Nomer = 3 Then Chisla = 14
If Nomer = 4 Then Chisla = 17
If Nomer = 5 Then Chisla = 21
If Nomer = 6 Then Chisla = 25
If Nomer = 7 Then Chisla = 30
If Nomer = 8 Then Chisla = 36
If Nomer = 9 Then Chisla = 43
If Nomer = 10 Then Chisla = 52
If Nomer = 11 Then Chisla = 62
If Nomer = 12 Then Chisla = 74
If Nomer = 13 Then Chisla = 89
If Nomer = 14 Then Chisla = 107
If Nomer = 15 Then Chisla = 128
If Nomer = 16 Then Chisla = 154
If Nomer = 17 Then Chisla = 185
If Nomer = 18 Then Chisla = 222
If Nomer = 19 Then Chisla = 266
If Nomer = 20 Then Chisla = 319
If Nomer = 21 Then Chisla = 383
If Nomer = 22 Then Chisla = 460
If Nomer = 23 Then Chisla = 552
If Nomer = 24 Then Chisla = 662
If Nomer = 25 Then Chisla = 795
If Nomer = 26 Then Chisla = 954
If Nomer = 27 Then Chisla = 1145
If Nomer = 28 Then Chisla = 1374
If Nomer = 29 Then Chisla = 1648
If Nomer = 30 Then Chisla = 1978
End Function
Fügen Sie eine Schaltfläche und ein Textfeld in das Formular ein. Geben Sie in das Textfeld H ein.
 
Richie:

Fügen Sie eine Schaltfläche und ein Textfeld in das Formular ein. Geben Sie in das Textfeld H ein.


Und in einer halben Stunde haben Sie das Ergebnis?
 

Sie könnten eine Lösungssuche in Excel durchführen, obwohl ich mir nicht sicher bin, ob das funktionieren würde...

Sie könnten ein Programm entwerfen, das die Varianten durchsucht.

Sie können auch umfangreiche mathematische Programme verwenden.


Was du hier brauchst, ist ein Programm, das dir verschiedene Werte für a, b, c... gibt. mit demselben Wert von H.

Es gibt keine Regelmäßigkeit in diesen Zahlen.

Vergessen Sie nicht, dass es neben diesen Zahlen, die gleich a sein können , auch b, c,... gibt. Variablen, die ihre eigenen Werte haben, und im Allgemeinen solche Variablen 17 ))).

Ich habe es in Excle versucht, aber es ist ein Gehirn voller zyklischer Funktionen, Rangfunktionen usw. Wenn jemand das kann, bin ich neidisch auf ihn.

 

Wir können das Problem als ein Optimierungsproblem formulieren:

Gegeben a=(10, 12, 14, 17, 21, 25, 30, 36, 43, 52, 62, 74, 89, 107, 128, 154, 185, 222, 266, 319, 383, 460, 552, 662, 795, 954, 1145, 1374, 1648, 1978).

Finde einen zweiten Vektor b, mit Koordinatenwerten aus der Menge {0,1} (und natürlich mit der gleichen Anzahl von Koordinaten, d.h. 30) - so dass | a*b - H | -> min. Das Produkt von Vektoren ist skalar. In Excel ist es mit GA (Addon "Search for solutions") sicher gelöst.

Ich kenne die tiefere Bedeutung dieses Problems nicht. Alle Varianten sind im ungünstigsten Fall 2^30 ~ 10^9, d.h. im Prinzip ist das Problem für moderne Pisuk lösbar.

 
timezero:

Sie könnten eine Lösungssuche in Excel durchführen, obwohl ich mir nicht sicher bin, ob das funktionieren würde...

Sie könnten ein Programm entwerfen, das die Varianten durchsucht.

Sie können auch umfangreiche mathematische Programme verwenden.


Was du hier brauchst, ist ein Programm, das dir verschiedene Werte für a, b, c... gibt. mit demselben Wert von H.

Es gibt keine Regelmäßigkeit in diesen Zahlen.

Vergessen Sie nicht, dass es neben diesen Zahlen, die gleich a sein können , auch b, c,... gibt. Variablen, die ihre eigenen Werte haben, und davon gibt es 17).

Ich habe es in Exxle versucht, aber es wird mein Gehirn mit zyklischen, Rangfunktionen usw. zerbrechen. Wenn es jemandem gelingt, werde ich neidisch auf ihn sein.

Sieht man sich das an, scheint es zu funktionieren.

Nun, in a1 suchen wir zum Beispiel nach einer Zahl,

b1,c1,d1... wird durch Zahlen ersetzt, und zwar in den Bereichen b2-b17, c2-c17, dem Bereich der benötigten Zahlen.

In a1 die Formel, die eine Zahl aus dem Bereich mit einem Index auswählt und zu den Beschränkungen des Bereichs 2..17 hinzufügt

 
Und wie kann man dies mit einer Formel in Excel beschreiben?
 
Sie können dies nicht in Excel berechnen. Wenn es 17 Gruppen mit 30 Werten gibt, haben Sie eine Vorstellung davon, wie viele Varianten es geben könnte? Wenn Sie wirklich eine Antwort brauchen, bitten Sie jemanden, Ihnen ein C-Programm zu schreiben, suchen Sie einen sehr leistungsfähigen Server, führen Sie es aus und warten Sie. In ein paar Jahren werden Sie Ergebnisse sehen.
 
Richie:

Natürlich können Sie das. Die Leute verstehen überhaupt keine Witze. Wir sehen uns, wenn du nüchtern bist und dich an meinen Zustand gewöhnt hast :)

Hier ist ein weiterer Witz für Sie. Das Programm funktioniert, aber ich rate Ihnen, es nicht auszuführen.

Fügen Sie eine Schaltfläche und ein Textfeld in das Formular ein. Geben Sie in das Textfeld H ein.



Besser ist es, ein Array mit Zahlen zu deklarieren und nach Index zu adressieren, ohne wenn, dann geht es viel schneller. Besser in mq4, es ist 10 mal schneller als vb6, noch besser in mql5, es ist noch schneller.

Chisla[]={10, 12, 14, 17, 21, 25, 30, 36, 43, 52, 62, 74, 89, 107, 128, 154, 185, 222, 266, 319, 383, 460, 552, 662, 795, 954, 1145, 1374, 1648, 1978};

 
Integer:


noch besser in mql5 - es ist noch schneller.

Die Berechnung für mql5 kann das gesamte bewusste Leben von TC in Anspruch nehmen)