levando a ajuda do salão) - página 2

 
Richie: Entretanto, a fórmula de progressão é mais ou menos evidente a olho nu: Y = int(8,3069*e^(0,1825*x)+0,5).

Isto também pode ir para os anais. Bom.

Só acho que não é "aproximadamente óbvio", mas "aproximadamente óbvio a olho nu" :)

 

É claro que você pode. As pessoas não entendem nada de piadas. Te vejo quando você estiver sóbrio até minha condição :)

Aqui está outra piada para você. O programa funciona, mas eu não o aconselharia a executá-lo.

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
Coloque um botão e uma caixa de texto no formulário. Na caixa de texto , digite H.
 
Richie:

Acione um botão e uma caixa de texto no formulário. Na caixa de texto, digite H.


E em meia hora você consegue o resultado?
 

Você poderia fazer uma busca de soluções em Excel, embora não tenha certeza se isso funcionaria...

Você poderia esboçar um programa que procurará por variantes.

Você também pode usar programas matemáticos pesados.


O que você precisa aqui é de um programa que lhe dê diferentes valores de a, b, c... para o mesmo valor de H.

Não existe uma certa regularidade nestes números.

Não esqueça que, além desses números, que podem ser iguais a, há também b,c,... variáveis que têm seus próprios valores e, em geral, tais variáveis 17 )))).

Eu experimentei no Exxle, mas é um cérebro que estourou com funções cíclicas, de hierarquia, etc. Se alguém pode fazer isso, tenho inveja deles.

 

Podemos formular o problema como um problema de otimização:

Given 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).

Encontre um segundo vetor b, com valores de coordenadas do conjunto {0,1} (e, claro, com o mesmo número de coordenadas, ou seja, 30) - tal que | a*b - H | -> min. O produto dos vetores é escalar. No Excel é resolvido com certeza com GA (addon "Search for solutions").

Eu não sei o significado mais profundo deste problema. Todas as variantes no pior caso serão 2^30 ~ 10^9, ou seja, em princípio o problema é resolúvel para o Pisuk moderno.

 
timezero:

Você poderia fazer uma busca de soluções em Excel, embora não tenha certeza se isso funcionaria...

Você poderia esboçar um programa que pesquisará através das variantes.

Você também pode usar programas matemáticos pesados.


O que você precisa aqui é de um programa que lhe dê diferentes valores de a, b, c... com o mesmo valor de H.

Não existe uma certa regularidade nestes números.

Não esqueça que, além desses números, que podem ser iguais a, há também b,c,... variáveis que têm seus próprios valores, e são 17 delas).

Eu tentei no Exxle, mas ele vai quebrar meu cérebro com funções cíclicas, de hierarquia, etc. Se alguém conseguir, eu terei ciúmes dele.

Olhado, parece funcionar.

Bem, por exemplo, em um1 procuraremos por um número,

b1,c1,d1... serão substituídos por números, em b2-b17, c2-c17 a gama de números de que precisamos.

Em a1 a fórmula que escolherá um número da faixa por um índice e acrescentará às restrições da faixa 2..17

 
E como você descreve isso com uma fórmula em excel ?
 
Você não pode calcular isto em Excel. Se existem 17 grupos de 30 valores, você tem alguma idéia de quantas variações podem existir? Se você realmente precisa de uma resposta, peça a alguém que lhe escreva um programa em C, procure um servidor muito poderoso, execute-o e espere. Você terá resultados dentro de alguns anos.
 
Richie:

É claro que você pode. As pessoas não entendem nada de piadas. Te vejo quando você estiver sóbrio até minha condição :)

Aqui está outra piada para você. O programa funciona, mas aconselho-o a não executá-lo.

Acione um botão e uma caixa de texto no formulário. Na caixa de texto, digite H.



É melhor declarar matriz com números e endereço por índice, sem se, se trabalhará muito mais rápido. Melhor em mq4, é 10 vezes mais rápido que vb6, melhor ainda em mql5, é ainda mais rápido.

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:


ainda melhor em mql5 - é ainda mais rápido.

Calculando para mql5 pode levar toda a vida consciente do TC)