研究帖28-3

 

 

 

 


作者へのメッセージ
研究課題 BB君のマイノリティーリポート

研究課題 BB君のマイノリティーリポート

     

 

そよ風さん「博士! 出来てるんなら、さっさと出して下さいよ!」

ナイス博士「フッフッフッ、まず、君たちがどの程度成長したか、見てみたかったんだ。」

そよ風さん「いいから、とにかく見せて下さい!」

ナイス博士「よし、これだ!!!」

 

 

 

【ディップスイッチ方式】

アプレット

AppletFrame3.javaのコード MatchCombination3.javaのコード DipElement.javaのコード

 簡単なクラス図

 

 

*************************************************************************

【プログラムの内容】

1.ディップスイッチの1つ1つに当たるDipElementに、配列の要素を記録する。

2.DipElementの配列、dipswitchを作る。

3.dipswitchの要素数と同じビットの2進数を0から最大値までカウントする。

3.カウントごとにdipswitch[0]を、on,offする。

4.dipswitch[1]以上は、一つ前の要素がonになってからoffになった時に状態が変わるよう にしておく。

5.dipswitchの要素の合計を表すクラス変数に、onのビットの値を加算し、同様にoffのビット の値を引く。

6.クラス変数が設定した合計値と同じだったら、その時onの要素の値だけをArrayListに 記録する。

*************************************************************************

     

 

そよ風さん「なんか、よく分らないわ。」

ナイス博士「フッフッフッ、無理も無いな。ちょっと君達には難しすぎるかな。ようするに、 一つ前のビットスイッチを入れてから切った時に次のビットが入るようにすれば、最小値から最大値まで カウント出来るんだ。そして、入った所の値をクラス変数の合計に加え、切った所を引けば合計が 出来るんだ。」

そよ風さん「へえーー、そうなんですか。じゃ、さっそく3つのプログラムを、比べて 見ましょう。要素が50個くらいでやって見ます。」

ナイス博士ごっ、50個だって!!

そよ風さん「ええ、少なすぎますか?」

ナイス博士「いや、いくら何でも50個は多すぎるよ!いつまでたっても終わらないよ!」

BB君「そうだよ。それにスタック不足になるよ。」

そよ風さん「ええっ、たった50個でだめなの?しょうがないな。じゃ、19個の配列で、 合計値28でやって見ます。

{1,1,1,2,2,2,3,4,5,6,7,8,9,10,11,12,13,14,15} でやってみよう。

クリック!..........................................

ほらっ、15ミリ秒で、ぴったりの 組み合わせが12243個出来たわ!さっ、じゃ、BB君もやってよ!」

BB君「うん、じゃあ、クリック!................................................」

そよ風さん「.....まだなの?」

BB君「ちょっと待ってくれよ!.....................................................

.....................................................................出来たぞ!」

そよ風さん「875ミリ秒もかかって、12149個しか出来てないわよ。」

BB君「それが正解だよ!そよ風さんのほうがおかしいんだ!」

そよ風さん「そう言うんだったら、博士のと比べて見ましょう。博士!博士!」

ナイス博士「あっ、いやっ、私はいいよ。」

そよ風さん「何を言ってるんですか!さっさと貸して下さい!クリック!....

........................................................................................

......................................................................うん?..............」

BB君「あれっ.......これはちょっと....................................................

...................................................................................」

そよ風さん「時間が...................................................................

.........................................................................................」

BB君「かかりすぎじゃ...........................................................

...................................................................................」

ナイス博士「いやっ、..........................早ければ............................

いいってもんじゃ..............................ない............................出来た!!

そよ風さん「あーーあっ、922ミリ秒もかかるんじゃあねえ。」

BB君「うーーん、ちょっとねえ。」

そよ風さん「で、答えは.....12243個よ!

BB君「ええっ、なんだって!!うーーん、じゃあ、僕のが....」

そよ風さんマイノリティーリポート(少数意見)ってわけよ。」

BB君「でも、二人とも間違っているかも知れないじゃないか!」

ナイス博士「いやっ、それは無いな。」

そよ風さん「そうですね。組み合わせ数が完全に一致してますからね。」

 

 

 

そよ風さん「しかし、博士のも時間がかかりすぎですよ。」

ナイス博士「いやっ、これはまだ研究の途中なんだ。もっと早くなるよ!!」

そよ風さん「bb君のは、間違ってるし、少ない配列でしか出来ないし。」

BB君「いやっ、これもまだ研究の途中だよ!」

そよ風さん「しょうがないわねえ。じゃあ、二人でじっくり研究して下さいよ。」

ナイス博士「もちろん、言われなくてもやるよ!!行こうっ、bb君!」

BB君「はいっ、......待ってろよ!」

そよ風さん「早くしてねっ!」

 

続く。

 

」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」

 

作者へのメッセージ

 

研究課題に戻る。

 見学者への注意事項に戻る。