各自然数を出力する最短のアルゴリズムを探すスレ
■ このスレッドは過去ログ倉庫に格納されています
0004132人目の素数さん
2010/12/02(木) 02:00:02<変数xにaを加算する命令数n1の処理>
*loop jz, x, *out
<変数yにbを加算する命令数n2の処理>
dec x
j, *loop
*out
この処理で変数yにbがa回足されるためy:=y+a*bが計算される
incによる加算、decの減算、そしてこの乗算の処理を組み合わせて
最小命令数で自然数を構成する(*)
上記の方法(*)を使って、最小の命令数kで構成できる自然数の集合をN(k)とする
N(k)は再帰的に構成できる
N(0) = { 0 }
N(k+1) = { n+1 | n∈N(k) }∪{ n-1 | n∈N(k), 0<n }∪( ∪[i=0,k-2]{m*n|m∈N(i),n∈N(k-2-i)} )\∪[i=0,k]N(k)
■ このスレッドは過去ログ倉庫に格納されています