カレンダー最新コメント最新記事(03/29)
(11/09)
(06/29)
(02/10)
(09/19) 最新トラックバックプロフィールブログ内検索最古記事アクセス解析忍者アナライズ |
ブログ日記のようなものPAGE | 2725 2724 2723 2722 2721 2720 2719 2718 2717 2716 2715 | ADMIN | WRITE 2011.04.20 Wed 23:56:50 正しさの定義1から9の数の間に演算子を入れる。
使用できる演算子は+、-、×(プログラム上では*)だけ。 割り算は使用しない。 例えば 1 + 2 * 3 - 4 * 5 + 6 - 7 - 8 * 9 のような感じ。 この演算子の組み合わせによって、 式の答えが100となるときの式を 表示するプログラムをC言語で組め。 ・・・という問題を提示された。 案は浮かんだものの、出題者本人との意図は異なった。 ならどうするのか。出題者に回答を求めた。 「ランダムで式を作って、その式の答えが 100になっていれば表示すればいい」 何故か無償に悔しかった。 確かに。 どんな式を、いくつ表示するのか、なんて。 問題内で指示されていない。 でも、プログラムとして、それは価値あるものだろうか。 何かを馬鹿にされたような気がして。 何故か。 躍起になった。 1 * 2 * 3 * 4 + 5 + 6 + 7 * 8 + 9 = 100 1 - 2 + 3 * 4 * 5 + 6 * 7 + 8 - 9 = 100 1 - 2 + 3 * 4 * 5 - 6 + 7 * 8 - 9 = 100 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 * 9 = 100 1 * 2 * 3 + 4 + 5 + 6 + 7 + 8 * 9 = 100 1 - 2 * 3 + 4 * 5 + 6 + 7 + 8 * 9 = 100 1 + 2 * 3 + 4 * 5 - 6 + 7 + 8 * 9 = 100 1 - 2 * 3 - 4 + 5 * 6 + 7 + 8 * 9 = 100 1 + 2 - 3 * 4 + 5 * 6 + 7 + 8 * 9 = 100 1 * 2 * 3 * 4 + 5 + 6 - 7 + 8 * 9 = 100 1 - 2 * 3 - 4 - 5 + 6 * 7 + 8 * 9 = 100 1 + 2 - 3 * 4 - 5 + 6 * 7 + 8 * 9 = 100 1 + 2 + 3 - 4 * 5 + 6 * 7 + 8 * 9 = 100 1 * 2 * 3 - 4 * 5 + 6 * 7 + 8 * 9 = 100 以上が問題の回答にふさわしい式のすべて。 また、9までだったところを15とし、結果が10000となる式は 1 - 2 + 3 + 4 * 5 * 6 * 7 + 8 + 9 * 10 * 11 * 12 - 13 * 14 * 15 = 10000 の一通りしか存在しない、ということが分かった。 自分のキャパシティを軽く越えてくれるプログラム。 自分はこう思うんだと、ちゃんと伝えれば、 こういうことだね、と回答をくれる。 違う、そうじゃない。どこが悪いんだろう。 動くプログラムは何も答えてくれない。 言われた通りにしか動かない。 そしてそれがプログラムの正しさ。 その正しさを間違いと決めつけているのは自分。 自分が思う正しさを知っているのは、 プログラムではなく、自分自身。 間違っていると思うのは自分であってプログラム自身じゃない。 エラーを定義するのはプログラムではなくプログラマだ。 諦めるのはプログラムではなくプログラマだ。 オレは何を諦めない?何故諦めない? 孤独だからこそ。誰も巻き込まないからこそ。 自己満だからこそ。 諦めないのかもしれない。 例えそれが無価値だと言われようと。 その無価値こそ自分にとっての正しさだ。 PR TrackbacksTRACKBACK URL : CommentsComment Form |