忍者ブログ

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

最新コメント

[07/13 ♀はっか]
[07/13 ♀はっか]
[07/11 ♀はっか]
[07/11 ♀はっか]
[03/16 空竜]

最新トラックバック

プロフィール

HN:
空竜
性別:
女性

バーコード

ブログ内検索

アクセス解析

忍者アナライズ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

正しさの定義

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

Trackbacks

TRACKBACK URL :

Comments

Comment Form