Salonun yardımını alıyorum) - sayfa 2

 
Richie : Bununla birlikte, ilerleme formülü çıplak gözle yaklaşık olarak açıktır: Y \u003d int (8.3069 * e ^ (0.1825 * x) + 0.5).

Yıllıklarda olabilir. İyi.

Sadece, muhtemelen, "yaklaşık olarak açık" değil (geri çevirdi!), Ama "yaklaşık olarak çıplak olarak bariz" :)

 

Tabi ki yapabilirsin. İnsanlar şakaları anlamıyor. Benim halime kadar ayıldığın zaman sana bakacağım :)

İşte size bir şaka daha. Program çalışıyor, ancak çalıştırmanızı önermiyorum.

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
Form üzerine bir düğme ve bir metin alanı bırakın. Metin kutusuna N girin .
 
Richie :

Form üzerine bir düğme ve bir metin alanı bırakın. Metin kutusuna N girin.


Ve yarım saat içinde sonucu alacak mısın?
 

Neyin uyacağından emin olmasam da, Excel'de çözümler için arama yapabilirsiniz ...

Seçenekleri araştıracak bir program çizebilirsiniz.

Eh, ağır matematik programları yukarı çekilebilir.


Evet, burada aynı H değerine sahip a, b, c ... değerleri için farklı seçenekler verecek bir programa ihtiyacımız var.

Bu sayılarda bir düzenlilik yoktur.

Unutmayın ki a sayısına eşit olabilen bu sayılara ek olarak kendi değerlerine sahip b, c, ... değişkenleri de vardır, ancak genel olarak bu tür 17 değişken vardır))).

Excele'de denedim, ancak orada beyin döngüsel, dereceli işlevler vb. Biri başarılı olursa, onu kıskanırım.

 

Problem bir optimizasyon problemi olarak formüle edilebilir:

Bir vektör verildiğinde 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).

{0,1} kümesinden koordinat değerleriyle (ve elbette aynı sayıda koordinatla, yani 30) ikinci b vektörünü bulun - öyle ki | a*b - H | -> dk. Vektörlerin çarpımı skalerdir. Excel'de, GA yardımıyla kesin olarak çözülür ("Çözüm ara" eklentisi).

Bu konunun derinliğini bilmiyorum. En kötü durumda, tüm seçeneklerin 2^30 ~ 10^9'u olacaktır, yani. prensip olarak, modern bir pisyuk için görev çözülebilir.

 
timezero :

Çözümleri Excel'de arayabilirsiniz, ancak neyin uyacağından emin değilim ...

Seçenekleri araştıracak bir program çizebilirsiniz.

Eh, ağır matematik programları yukarı çekilebilir.


Evet, burada aynı H değerine sahip a, b, c ... değerleri için farklı seçenekler verecek bir programa ihtiyacımız var.

Bu sayılarda bir düzenlilik yoktur.

Unutmayın ki a sayısına eşit olabilen bu sayılara ek olarak kendi değerlerine sahip b, c, ... değişkenleri de vardır, ancak genel olarak bu tür 17 değişken vardır))).

Excele'de denedim, ancak orada beyin döngüsel, dereceli işlevler vb. Biri başarılı olursa, onu kıskanırım.

Araştırdım, işe yarayabilir.

Örneğin, a1'de bir sayı arayacağız,

sayılar b1,c1,d1..., b2-b17, c2-c17 ile gerekli sayı aralığı ile değiştirilecektir.

a1'de dizine göre aralıktan bir sayı seçecek ve 2..17 aralığını kısıtlamalara ekleyecek bir formül

 
Ve excel'de bir formülle nasıl tarif edilir?
 
Excel'de bunu göremezsiniz. 30 değerden oluşan 17 grup varsa, kaç tane seçenek olabileceğini hayal edebiliyor musunuz? Gerçekten bir cevaba ihtiyacınız varsa - birinden size C'de bir program yazmasını isteyin, çok güçlü bir sunucu arayın, başlatın ve bekleyin. Birkaç yıl içinde sonuç alacaksınız.
 
Richie :

Tabi ki yapabilirsin. İnsanlar şakaları anlamıyor. Benim halime kadar ayıldığın zaman sana bakacağım :)

İşte size bir şaka daha. Program çalışıyor, ancak çalıştırmanızı önermiyorum.

Form üzerine bir düğme ve bir metin alanı bırakın. Metin kutusuna N girin.



Sayıları olan bir diziyi bildirmek ve dizine göre erişmek daha iyidir, if olmadan çok daha hızlı çalışacaktır. mq4'te daha iyi, vb6'dan 10 kat daha hızlı, mql5'te daha da iyi - daha da hızlı.

Sayı[]={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 :


mql5'te daha da iyi - daha da hızlı.

mql5 üzerinde hesaplama, TS'nin tüm bilinçli yaşamını alabilir)