かいじょうてつだい) - ページ 2

 
Richie: しかし、進行式は、Y = int(8.3069*e^(0.1825*x)+0.5) と、肉眼で見て大体わかるようになっています。

これも年表に載せることができる。よかったです。

ただ、「だいたいわかる」ではなく、「だいたい肉眼でわかる」なんでしょうね :)

 

もちろん、できますよ。みんな冗談が全然通じないんですよ。私の体調が回復したら、また会いましょう :)

ここで、もうひとつジョークを。プログラムは動作しますが、実行することはお勧めしません。

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
フォームにボタンとテキストボックスを設置します。テキストボックスに、「H」と入力 します。
 
Richie:

フォームにボタンとテキストボックスを投げる。テキストボックスに、「H」と入力します。


そして30分後には結果が出る?
 

Excelのソリューション検索ができるかもしれませんね、うまくいくかどうかわかりませんが...。

バリアントを検索するプログラムをスケッチすることができます。

重厚な数学的プログラムを使うこともできます。


ここで必要なのは、a,b,c...の異なる値を与えるようなプログラムである。を同じ値のHと する。

この数字には、むしろ規則性がない。

これらのaに 等しい数の他に、b,c,...があることを忘れないでください。を持つ変数で、一般的にはそのような変数 17 ))) があります。

Excleでやってみたけど、周期関数、ランク関数など脳みそが破裂しそう。 できる人がいたら、うらやましいです。

 

この問題は、最適化問題として定式化することができます。

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) とすると、以下のようになります。

a*b- H|→minとなるような、座標値が集合{0,1}(もちろん、同じ座標数、つまり30)からなる第2のベクトルbを 求めよ。ベクトルの積はスカラーである。ExcelではGA(アドオン「解決策を検索」)で確実に解決します。

この問題の深い意味はわかりません。 最悪の場合、すべてのバリエーションは2^30 ~ 10^9となり、つまり原理的には現代のPisukで解決可能な問題であることがわかります。

 
timezero:

Excelのソリューション検索ができるかもしれませんね、うまくいくかどうかわかりませんが...。

バリアントを検索するプログラムをスケッチすることができます。

重厚な数学的プログラムを使うこともできます。


ここで必要なのは、a,b,cの異なる値を与えるプログラムです...を同じ値のHと する。

この数字には、むしろ規則性がない。

これらの数字には、aに 等しい数字の他に、b,c,...があることを忘れないでください。という変数があり、その数は17個です)。

Exxleで試しましたが、cyclicやランク関数などで脳が壊れそうです。 もし成功した人がいたら、うらやましい限りです。

見てみると、動作しているようです。

さて、例えばa1では数字を探します。

b1,c1,d1... は数字に置き換えられ、b2-b17, c2-c17は必要な数字の範囲である。

a1では、インデックスによって範囲から数値を選び、範囲の制約に追加する数式 2...17

 
また、エクセルの数式でどのように記述するのですか?
 
Excelでは計算できない。30の値からなる17のグループがあるとしたら、どれだけのバリエーションがあるか見当がつきますか?もし本当に答えが必要なら、誰かにCプログラムを書いてもらい、非常に強力なサーバーを探し、それを実行して待ってください。2、3年で結果が出る。
 
Richie:

もちろん、できますよ。みんな冗談が全然通じないんですよ。私の体調が回復したら、また会いましょう :)

ここで、もうひとつジョークを。プログラムは動作しますが、実行しないことをお勧めします。

フォームにボタンとテキストボックスを投げる。テキストボックスに、「H」と入力します。



ifを使わずに、数値で配列を宣言し、インデックスでアドレスを指定する方が、より高速に動作します。mq4ではvb6の10倍、mql5ではさらに高速化され、より良くなりました。

チスラ[]={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ではさらに高速になりました。

mql5の計算には、TCの意識的な生活全体が必要かもしれない)