各自然数を出力する最短のアルゴリズムを探すスレ
■ このスレッドは過去ログ倉庫に格納されています
0002132人目の素数さん
2010/12/01(水) 23:53:17・変数名は好きにつけ変えて良い(どれが出力用の変数x0かは明示する)
・jz, *loop などのように行番号ではなくいわゆるラベルを使って良い
・曖昧性がなく分かりやすいならば独自の記法をしても良い
・他のプログラムを関数と見立てて使用してよい(ただし再帰呼び出しは(多分)出来ない)
(補足を踏まえた例)2nを出力する命令数n+5のプログラム
inc x
inc x
fortimes_clr(x){
inc result
:
(n回)
:
inc result
}
ここで
fortimes_clr(x){
<命令列hoge>
}
を次のように定義する
*loop jz x, *out
dec x
<命令列hoge>
j *loop
*out
jは無条件ループ(適当な利用していない変数を使えば実装できる)
■ このスレッドは過去ログ倉庫に格納されています