これがスマートに解けたらあなたもニュータイプ?

Yahoo!知恵袋(数学)を見ていたら、中学一年生向けの問題とは思えないような面白い問題を見つけましたので、いくばくかのPVを稼ぐためにこの問題をネタにしたいと思います。
問題は、x+y=-1,|x|+|y|=8となるようなx,yを求めよというシンプルなものです。
私が最初に答えたのは、x+y=-1だからy=-x-1であり、|x|+|y|=8だから
|x|+|-x-1|=8
|-x-1|=8-|x|
となって、この式の両辺を2乗すると
x^2+2x+1=64-16|x|+x^2
2x+1=64-16|x|
2x+16|x|=63
となり、
x=0の場合は2*0+16*0≠63なのでx≠0
x>0の場合は2x+16x=18x=63なのでx,y=3.5,-4.5
x<0の場合は2x-16x=-14x=63なのでx,y=-4.5,3.5
∴x,y=-4.5,3.5or3.5,-4.5
というものでした。
この回答はそこそこスマートだと思って自己満足したのですが、よくよく考えて見たら、2x+16|x|=63は16|x|=63-2xとして両辺を2乗すると、
256x^2=4x^2-252x+3969
252x^2+252x-3969=x^2+x-15.75=0
という二次方程式に還元出来て、
x=(-1±√(1^2+4*1*15.75))/2=(-1±√64)/2=(-1±8)/2=3.5,-4.5
∴x,y=3.5,-4.5or-4.5,3.5
と出来ました。
因みに、特にHaskellのような関数型プログラミングでは、余計な条件分岐をしたら「負け」だと思っているので、最初の回答は私から見て「負け」だったので、もう少し考えて見たらさらにスマートに出来ました(笑)
大昔は「美しくなければプログラムではない」とか生意気な事を言っていたのですが、やはり、物理の理論でも何の理論でも、美しくなければ理論ではないですよね(笑)
追記:
私の解き方の場合、例えば|x|=-1の場合にx^2=1,x=1,-1となって不正解になってしまうし、解が複素数になった場合はどのように解釈すれば良いのか等、厳密に考えれば理論的に不完全である事が分かりましたが、設問が正しければ必ず正しい答えは得られるはずですし、戦場でそんな事を考えていたら戦死しますので、これでよしとしてください。
追記2:
x+y=-1,y=-x-1,|x|+|y|=8なので、|x|+|-x-1|=8となり、
|x|≦1の場合は|x|+|-x-1|<8なので|x|>1となり、
x>1の場合はx+x+1=2x+1=8なのでx,y=3.5,-4.5
x<1の場合は-x-x-1=-2x-1=8なのでx,y=-4.5,3.5
∴x,y=3.5,-4.5or-4.5,3.5
という突っ込みの余地がなくて求解プロセスが短い回答がニュータイプにふさわしい回答なのかもしれないですね(笑)
関連記事

コメント

非公開コメント

検索フォーム

ブロとも一覧

FC2カウンター

最新記事

QRコード

QR