en prenant l'aide de la salle) - page 2

 
Richie: Cependant, la formule de progression est à peu près évidente à l'œil nu : Y = int(8,3069*e^(0,1825*x)+0,5).

Cela peut entrer dans les annales, aussi. Bien.

Seulement, je suppose que ce n'est pas "approximativement évident" (c'est un gros mot !), mais "approximativement évident à l'œil nu" :)

 

Bien sûr que vous pouvez. Les gens ne comprennent pas du tout les blagues. Je vous verrai quand vous aurez dessoûlé dans les mêmes conditions que moi :)

Voici une autre blague pour vous. Le programme fonctionne, mais je ne vous conseille pas de l'exécuter.

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
Mettez un bouton et une zone de texte sur le formulaire. Dans la zone de texte , entrez H.
 
Richie:

Placez un bouton et une zone de texte sur le formulaire. Dans la zone de texte, entrez H.


Et en une demi-heure, vous obtenez le résultat ?
 

Vous pourriez faire une recherche de solution Excel, bien que je ne sois pas sûr que cela fonctionne...

Vous pourriez esquisser un programme qui chercherait dans les variantes.

Vous pouvez également utiliser des programmes mathématiques lourds.


Ce dont vous avez besoin ici est un programme qui vous donnerait différentes valeurs de a, b, c... avec la même valeur de H.

Il n'y a pas vraiment de régularité dans ces chiffres.

N'oubliez pas qu'en plus de ces nombres, qui peuvent être égaux à a, il y a b, c,... des variables qui ont leurs propres valeurs, et en général de telles variables 17 ))).

J'ai essayé dans Excle, mais c'est un cerveau débordant de fonctions cycliques, de rangs, etc. Si quelqu'un peut le faire, je suis jaloux de lui.

 

Nous pouvons formuler le problème comme un problème d'optimisation :

Étant donné 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).

Trouvez un second vecteur b, dont les coordonnées proviennent de l'ensemble {0,1} (et, bien sûr, avec le même nombre de coordonnées, c'est-à-dire 30) - tel que | a*b - H | -> min. Le produit de vecteurs est scalaire. Dans Excel, le problème est résolu à coup sûr avec GA (addon "Recherche de solutions").

Je ne connais pas la signification profonde de ce problème. Toutes les variantes dans le pire des cas seront 2^30 ~ 10^9, c'est-à-dire qu'en principe le problème est soluble pour les Pisuk modernes.

 
timezero:

Vous pourriez faire une recherche de solution Excel, bien que je ne sois pas sûr que cela fonctionne...

Vous pourriez esquisser un programme qui chercherait dans les variantes.

Vous pouvez également utiliser des programmes mathématiques lourds.


Ce dont vous avez besoin ici est un programme qui vous donnerait différentes valeurs de a, b, c... avec la même valeur de H.

Il n'y a pas vraiment de régularité dans ces chiffres.

N'oubliez pas qu'en plus de ces nombres, qui peuvent être égaux à a, il existe aussi b, c,... variables qui ont leurs propres valeurs, et il y en a 17).

J'ai essayé dans Exxle, mais ça va me casser le cerveau avec les fonctions cycliques, de rang, etc. Si quelqu'un réussit, je serai jaloux de lui.

En regardant, ça semble fonctionner.

Eh bien, par exemple, dans a1 nous allons chercher un nombre,

b1, c1, d1... seront remplacés par des chiffres, dans b2-b17, c2-c17 la gamme de chiffres dont nous avons besoin.

Dans a1 la formule qui va choisir un nombre dans la plage par un index et l'ajouter aux contraintes de la plage 2..17

 
Et comment décrire cela avec une formule dans Excel ?
 
Vous ne pouvez pas calculer cela dans Excel. S'il y a 17 groupes de 30 valeurs, avez-vous une idée du nombre de variations possibles ? Si vous avez vraiment besoin d'une réponse, demandez à quelqu'un de vous écrire un programme en C, cherchez un serveur très puissant, exécutez-le et attendez. Vous obtiendrez des résultats en quelques années.
 
Richie:

Bien sûr que vous pouvez. Les gens ne comprennent pas du tout les blagues. Je vous verrai quand vous aurez dessoûlé dans les mêmes conditions que moi :)

Voici une autre blague pour vous. Le programme fonctionne, mais je vous conseille de ne pas l'exécuter.

Placez un bouton et une zone de texte sur le formulaire. Dans la zone de texte, entrez H.



Il vaut mieux déclarer un tableau avec des chiffres et l'adresser par index, sans "si", cela fonctionnera beaucoup plus vite. Mieux dans mq4, il est 10 fois plus rapide que vb6, encore mieux dans mql5, il est encore plus rapide.

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:


encore mieux dans mql5 - il est encore plus rapide.

Le calcul de mql5 peut prendre la totalité de la vie consciente de TC).