3~4つの数字を使って任意の自然数を作れるソフトが完成した
こんばんは.20日ぶりぐらいの頭の体操です.
9/3に投稿したパズル(詳しいルールは下記記事参照)の答え探索機(?)的なものがやっと完成しました.
「1,2,3」の3つを使うモード以外に,3~4つの数字までで任意の数字入力にも対応しています.0に対応させるのがちょっと面倒くさかった.
任意の数を入力できるということで,テンパズル(4つの数字を使って10を作るやつ)の解答例を探すのにも使えます.
「1,2,3」を使って任意の自然数を作る奴,私のツールによると1~100までの数字の中で「67,73,82,87,89,94,98」以外の93個の自然数ができることがわかりました.記事の最後に答えを載せているので,暇な方はぜひやってみてはいかがでしょうか.
一応,上の記事に載せてあるルールはすべて採用しています.
例えば総和記号(Σ)を使えば簡単にできる答えも,Σを使わなくても小数点(.)や階乗などを使えば出せる場合には複雑な式に関わらずΣを使わない式を掲示していていることがあります.判断基準は「おーっ」ってなったものが採用されているものが多いです(語彙力)
ちなみに私が実際頭を使って襦袢にやってみた結果,32がどうしてもできずゲームオーバー&ギブアップでした.どうやら小数点を使う場合の発想に乏しいようです.本記事の末尾に載せている答えの中にも小数点を積極的に使うのが多くて「すげー」ってなっています(語彙力)
現状,あらゆるパターンを探索していて多重ループが凄まじいことになっています()Σは3重(例:ΣΣΣ2=ΣΣ3=Σ6=21)まで計算できます.また,(A×(B+C))×Dのように,()が二重で入るパターンは計算量が膨大になるため省いています.
Σ1や√1など記号を付けても意味がないパターンや24!など莫大すぎる数が計算途中に入る可能性があり4桁までの出力結果となり得なさそうなパターンはだいぶ省いているのですが・・・.
例えば,今回動かした「1,2,3」の3つを使って最も計算パターンが多いモード(すべてのパラメータが最大)で35秒ぐらいかかっています()すべての入力パターンの中で最も大変であろう「4,4,4,4」を(階乗,平方根,べき乗など探索するパターンが最も多そうなイメージ)パラメータが最大の状態で動かすと2時間以上かかります())
難しいなーと感じた答え:
14:二重階乗を使えば簡単.平方根/循環小数をうまく使えば二重階乗を使わなくても可能.
16:二重階乗,Σを使わなくとも可能.
32:Σは使わない.
34:かなり複雑.あらゆる記号を駆使する.
38:かなり複雑.34と同じような感じ.
59:あらゆる記号を駆使する.
60:計算途中でかなり大きめな数を経由する.
71:Σの三重式(ΣΣΣ)が登場.
76:あらゆる記号を駆使する.
85:計算途中でかなり大きめな数を経由する.
88:循環小数の使い方が肝.
92:計算途中で少し大きめな数を経由する.
96:二重階乗を使えば簡単.平方根/循環小数などをうまく使えば二重階乗を使わなくとも可能.
100:計算途中でかなり大きめな数を経由する.
11~100の解答例
1÷.2+3!=11
1×2×3!=12
1+2×3!=13
(√.1'+2)×3!=14
12+3=15
.1×.2'×(3!)!=16
(-1)+Σ2×3!=17
12+3!=18
1+Σ2×3!=19
(1+2)!÷.3=20
Σ(1+2+3)=21
(-1)+23=22
1×23=23
1+23=24
1+Σ2+Σ(3!)=25
Σ12÷3=26
(1+2)^3=27
Σ(1+2×3)=28
(1+Σ2)!!+Σ(3!)=29
1÷.2×3!=30
Σ(1+(Σ2)!)+3=31
√.1'×2×(3!)!!=32 … √.1'=√(1/9)=1/3
12+Σ(3!)=33
( ( -√.1')+(Σ2)!)×3! =34
(-1)+Σ(2^3)=35
12×3=36
1+Σ(2^3)=37
(√.1'+(Σ2)!)×3!=38
Σ((1+Σ2)!!)+3=39
12÷.3=40
(-1)+2×Σ(3!)=41
1×2×Σ(3!)=42
(-1)÷.2+(3!)!!=43
(-1)+(Σ2)!!-3=44
Σ((1+2)×3)=45
(-1)×2+(3!)!!=46
(-1)+(2×3)!!=47
√.1'×.2×(3!)!=48
1+(2×3)!!=49
(1÷.2)!!÷.3=50
1+2+(3!)!!=51
1+(Σ2)!!+3=52
1÷.2+(3!)!!=53
((1+2)!)!!+3!=54
Σ((1+2)÷.3)=55
1+Σ(Σ2÷.3)=56
Σ12-Σ(3!) = 57
ΣΣ(1+Σ2)+3=58
.1'×(Σ2)!-Σ(3!)=59
√(1÷.2×(3!)!)=60
ΣΣ(1+Σ2)+3!=61
(-1)+Σ2×Σ(3!)=62
(-1)+2^3!=63
1×2^3!=64
1+2^3!=65
Σ(1÷.2+3!)=66
???=67
(-1)+(Σ2)!!+Σ(3!)=68
.1×(Σ2)!-3=69
Σ((1+2)!)÷.3=70
1+ΣΣΣ2÷.3=71
12×3!=72
???=73
.1'×(Σ2)!-3!=74
Σ12-3=75
(- √ .1')×(Σ2-ΣΣ(3! ) ) =76
(-1)+Σ(2×3!)=77
Σ(1×2×3!)=78
1+Σ(2×3!)=79
.1'×(2×3)!=80
√(.1'^(2-3! ) ) =81
???=82
.1'×(Σ2)!+3=83
Σ12+3!=84
1+√(( Σ 2 )!×Σ((3!)!! ) ) =85
.1'×(Σ2)!+3!=86
???=87
.12'×(3!)!=88
???=89
(1÷.2)!!×3!=90
Σ(1+2×3!)=91
√.1'×Σ23=92
.1×(Σ2)!+Σ(3!)=93
???=94
(-1)+2×(3!)!!=95
(√.1'-.2)×(3!)!=96
1+2×(3!)!!=97
???=98
Σ12+Σ(3!)=99
√(.1^(2-3 ! ) )=100