[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bfree-prj 49] Example of frtm
- To: bfree-prj@iijnet.or.jp
- Subject: [bfree-prj 49] Example of frtm
- From: Tomohide Naniwa <naniwa@mechgw.mech.yamaguchi-u.ac.jp>
- Date: Fri, 26 Feb 1999 00:41:38 +0900 (JST)
- Reply-To: bfree-prj@iijnet.or.jp
- Sender: owner-bfree-prj@iijnet.or.jp
浪花です.
B-Free のページからリンクを張っていただいたおかげで frtm の Web ペー
ジのアクセスが急増しておりますが,アーカイブを持っていかれる方は少
ないですね (^^;).ディレクトリだけが表示されるというのも不親切だろ
うということで,件の URL でドキュメントが表示されるようにしておき
ました.
また,frtm でこんなこともできるという例題のつもりで N Queens を解
くプログラムを作りました.N x N の盤上にチェスの Queen を N 個お互
いに取られないように置くというパズルです.
: N 2 * 3 + ;
: disp dup N ndup 0 for
dup N ndup 0 for over I =
if (Q ) echo else (. ) echo endif
loop cr drop drop
loop drop ;
: copy 1+ dup 1 for dup ndup swap loop drop ;
: check over 0 for
3 ndup 6 ndup = if drop 0 else
3 ndup 6 ndup - abs 3 ndup 6 ndup - = if drop 0 else 1 = endif
endif
5 nrot 5 nrot drop drop
loop rotr drop drop ;
: nq dup N ndup 0 for
I over 1+ dup N 1- copy 1 check if
dup N ndup over 1+ = if
dup N copy disp cr
else nq endif
endif
drop drop loop ;
: queens dup 0 for I 0 nq drop drop loop drop ;
4 queens
で 4 x 4 の場合の全ての解が表示されます.標準の設定で 10 x 10 まで
は解けるのを確認しました.
なお frtm-bf の現在のバージョンは 1.1.3 です.
---
(putprop '浪花 智英
'affiliation '(山口大学大学院 理工学研究科 環境共生工学専攻)
'e-mail '(naniwa@mechgw.mech.yamaguchi-u.ac.jp)
'URL '(http://scserv.mech.yamaguchi-u.ac.jp/staff/naniwa.html))