2010年8月8日日曜日

三すくみ

"三すくみ"とは、ジャンケンのようにAはBに勝ち、BはCに勝ち、CはAに勝つというような、互いに得意な相手と苦手な相手を1つずつ持っているという関係です.
この問題をプログラムで実現するときに、すべてを場合分けするとコードが長くなります.
そこで、Aを1、Bを2、Cを3とし、前者の選択をx,後者の選択をyとすると
(x-y+3)%3
の答えが
0...引き分け
1...後者の勝ち
2...前者の勝ち
となります.
この方法を使うと,単純なプログラムではコードがとても短くなります.ただし,読みにくくなる可能性があるので,注意したほうがいいと思います.

0 件のコメント:

コメントを投稿