往前翻幾個編號相鄰的題目翻到了這么一道題,感覺很好奇就做了一下
(upd:我下午問了下出題人做法,他就把題隱藏了……這不太友好啊……所以我補一下題意:)
題意
給你兩個整數 $x$ 和 $y$,求 $x^y$ 和 $y^x$ 的大小關系。輸出 $-1$ 表示前者大,$1$ 表示后者大,$0$ 表示一樣大。
$0\le x\le 10^{3000}, -100\le y\le 10^{3000}$
題解
首先特判 $x$ 或 $y$ 為 $0$,$y=-1$ 以及 $y\lt -1$ 的情況。
對於剩下的正常情況,顯然冪可以取對數轉化為乘數。
即把 $x^y$ 取 $\ln$ 轉化為 $y\ln{x}$,$y^x$ 取 $\ln$ 轉化為 $x\ln{y}$
然后 $x^y$ 和 $y^x$ 的大小關系等於 $y\ln{x}$ 和 $x\ln{y}$ 的大小關系
移項,可得等於 $\frac{\ln{x}}{x}$ 和 $\frac{\ln{y}}{y}$ 的大小關系
咋一看,$\ln{x}$ 的變化速率顯然比 $x$ 小很多啊!那我們是否可以大膽猜測,$x$ 越大,$\frac{\ln{x}}{x}$ 越小呢?
但我們沒有給 $x$ 的定義域。
我們直覺上認為 $x$ 的定義域為 $[1,\infty)$ 的整數。
但我們沒有證明這個結論,下面用實踐來檢驗一下。
我們畫一下 $y=\frac{\ln{x}}{x}$ 的圖象
有沒有觀察到最高點的橫坐標為 $e$?
那我們之前猜的那個結論好像就不對了
這是偶然嗎?我們把 $log$ 的底數換成 $10$ 畫一下看看
再把底數換成 $2$ 看看
為什么無論底數是幾,最高點的橫坐標都是 $e$?
咱們來腦殘證明一波:
首先,換底只會使圖象沿 $y$ 軸成比例伸縮,不會改變最高點。因為假設把底數 $a$ 換成 $b$,那根據換底公式可得 $\log_b{x} = \log_a{x}\times \log_b{a}$,$\log_b{a}$ 是個與 $y$ 無關的常數,所以 $y=\frac{\log_a{x}}{x}$ 的圖象只沿 $y$ 軸伸長 $\log_b{a}$ 倍,最高點橫坐標不變。
但是這個結論是封閉的,即我們需要找到一個 $x$,使得 $y=\frac{\log_a{x}}{x}$ 的圖象最高點能通過其它方式求出來。
當 $x=e$ 時就可以證明這個圖象的最高點的橫坐標是 $e$,證明方法:
考慮求導,分數的導數公式為 $(\frac{u}{v})' = \frac{u'v-uv'}{v^2}$
令 $u=\ln{x}$,$v=x$
$y=\ln{x}$ 的導數為 $y'=\frac{1}{x}$(至於這個核心公式怎么證,您們還是去查吧,這里篇幅不夠且我能力有限),所以 $u'=\frac{1}{x}$,$v'=1$。
推得 $(\frac{\ln{x}}{x})' = \frac{1-\ln{x}}{x^2}$
因為該函數只有最大值,沒有最小值,所以圖象上導數為 $0$ 的點就是最高點。
於是最高點的橫坐標就是 $\frac{1-\ln{x}}{x^2} = 0$ 的解,容易解得 $x=e$。
至此我們證明了當 $x=e$ 時就可以證明這個圖象的最高點的橫坐標是 $e$,根據前文可知換底不會改變圖象最高點,故無論底數 $a$ 為多少,$y=\frac{\log_a{x}}{x}$ 的圖象最高點的橫坐標都是 $e$。
綜上,函數在 $[1,e]$ 區間遞增,$[e,\infty)$ 區間遞減。
我們再求一下圖象上與橫坐標為 $2$ 的點的縱坐標相同的另一點,即求解 $2^x=x^2$。這個通過枚舉就可以解得 $x=4$。所以圖象在 $x=2$ 與 $x=4$ 處的縱坐標相同。
有了函數的分段變化情況,我們就可以判斷 $\frac{\ln{x}}{x}$ 和 $\frac{\ln{y}}{y}$ 的大小關系了。
大力分類討論即可。