[ 0253: (xの2次関数)^(xの2次関数)=1 ]
[ 星楊令さんの出題 ]
頭の体操です。次の式を満たす x の実数解を全部求めてください。
「^」記号は冪乗をあらわします。
(x^2 - 7*x + 11)^(x^2 - 13*x + 42) = 1
|
[ 広世正憲君の回答 ]
まず:
▪ a(x) = x^2 - 7*x + 11
▪ b(x) = x^2 - 13*x + 42
として a(x)^b(x) = 1 が成り立つような場合分けをします。
ケース |
a(x) |
b(x) |
解く式 |
① |
1 |
任意 |
x^2 - 7*x + 11 = 1 |
② |
0 以外 |
0 |
x^2 - 13*x + 42 = 0 |
③ |
-1 |
偶数 |
x^2 - 7*x + 11 = -1 |
ぐらいでしょうか。それぞれのケースを解いてみます。
ケース ①
x^2 - 7*x + 11 = 1
x^2 - 7*x + 10 = 0
(x - 2)*(x - 5) = 0 ですから:
解は x = 2, x = 5
ケース ②
x^2 - 13*x + 42 = 0
(x - 6)*(x - 7) = 0 ですから:
解は x = 6, x = 7
a(6) = 6^2 - 7*6 + 11 = 5 (0 にならないので OK)
a(7) = 7^2 - 7*7 + 11 = 11 (0 にならないので OK)
ケース ③
x^2 - 7*x + 11 = -1
x^2 - 7*x + 12 = 0
(x - 3)*(x - 4) = 0 ですから:
解は x = 3, x = 4
b(3) = 3^2 - 13*3 + 42 = 12 (偶数なので OK)
b(4) = 4^2 - 13*4 + 42 = 6 (偶数なので OK)
x = 2, 3, 4, 5, 6, 7 が全ての解です。
狼羊さんもそうだとおっしゃっています。
[ 星楊令さんのコメント ]
正憲君、ドンピシャリ正解です。面白い問題でしたね。
GNUPLOT でグラフを描いてみてください。
[ 広世正憲君の質問 ]
x の値を細かく変えながら:
(1) y = (x^2 - 7*x + 11)^(x^2 - 13*x + 42)
(2) y = 1
のグラフを描いてみましたが、黒線の (1) で
x = 2.3900 から x = 4.6100 の範囲の計算値が
「NaN: Not a Number」と表示されます。
とくに異常な値ではないはずですが、なぜなのでしょうか?
[ 湯会老人のコメント ]
正憲君のロジカルな解きかたは間違っていません。
私も Perl プログラムを書き結果を GNUPLOT してみました。
f1(x) = x^2 - 7*x + 11
f2(x) = x^2 - 13*x + 42;
f(x) = f1(x)^f2(x)
です。
y = f1(x) は赤の点線
y = f2(x) は青の点線
y = f(x) は黒の実線
f(x) は x のある範囲 (実は f1(x) <= 0 の範囲) で
NaN (Not a Number) になってしまっています。
一般に a^b の値は a = b = 0 のときに未定義になりますが、
この例では f1(x) = f2(x) = 0 はありえません。
2.3800 0.0000 # black
2.3800 0.0044 # dot1
2.3800 16.7244 # dot2
2.3900 NaN # black
2.3900 -0.0179 # dot1
2.3900 16.6421 # dot2
2.4000 NaN # black
2.4000 -0.0400 # dot1
2.4000 16.5600 # dot2
2.4100 NaN # black
... という具合。
[ 千手春弥さんのコメント ]
湯会老人はちょっと勘違いしておられるようですね。
例をあげましょう。
まず:
(1.3)^(-1.2) = 1/((1.3)^(1.2)) のように
ab において a > 0 であれば
b の正負にかかわらず演算は定義されています。
問題は a < 0 の場合で、このとき b が整数の場合を除いては
結果は複素数になります。
(-1.3)^(1.9) ≈ 1.56566 - 0.508715 i
そういうわけで NaN とせざるを得なかったのでしょう。
f2(x) が整数のときにちゃんとした計算値があるはずですから
探してプロットされたらいかがでしょう?
|