2018.10.06【NOIP普及組】模擬賽C組
阿新 • • 發佈:2018-12-17
T1 YY
-
題目描述
最近小h接到命令,要再出一份題目,於是小h馬上陷入了沉思之中,想到了yy曾經出過的一道題目:給出一個超大正整數S,S的位數小於500000,然後找出一個數 n, 使得n為正整數,且N^N=S。輸出 這個數N.
-
樣例輸入
387420489
-
樣例輸出
9
-
資料範圍限制
然而並沒有
思路
- 首先我們可以看出,n的n次方是很大的,這是不難的。
- 所以很顯然
無腦的計算是不行的,這也是不難的。
-
低分做法
首先,在沒有任何規律性的東西之前,我們應當不斷模擬探究事物的本質,鑽研生命的奧義,從而獲得世間的真理。只有這樣我們才能步步前進,故先用暴力。雖然說是暴力,但是是很溫柔的,我們只是列舉每一個n就能成功,請大家不要對此題或鍵盤滑鼠施暴。
-
時間複雜度
-
中等做法
依題意得,n無後效性,故可用二分大法。此時可以提高很多效率。但是依然不是最優方案。卻也比前一個暴力方法好多。(楊柳小姐:一看就似農閩,目光duen淺)
-
時間複雜度
-
高等等做法
首先寫個公式
當 X >= 10
和
不難發現前者比後者位數少
-
時間複雜度