首先我們知道,乙個數num的位數=log10(num)+1。
然後我們根據對數函式的性質又知道,log10(x^x)+1=x*log10(x)+1。(這裡的『^』表示的是冪運算的意思,不是異或)
我們還知道,對數函式在r上是增函式。
因此我們可以二分這個x的值,時間複雜度就變成了o(log1e9)
#include#include#include using namespace std;
long long n,l,r,ans,mid;
int main()
else l=mid+1;
} printf("%lld",ans);
return 0;
}
奇怪的函式
題目描述 求出使得x x達到或超過n位數字的最小正整數x是多少。輸入描述 輸入乙個正整數n。輸出資料 輸出使得x x達到或超過n位數字的最小正整數。輸入樣例 11 輸出樣例 10 資料範圍及提示 n 2000000000。源 include include 包含trunc 以及log int n,a...
奇怪的atoi函式!
好奇怪的乙個問題,我第一次碰到,嘗試了多少次也沒有找到合適的解決方法,最後自己封裝了乙個函式my atoi,不知大俠們有過這樣的經歷沒?char json value 10 通過下面的解析函式,解析出prod total,然後 num atoi json value 結果卻為0!然後自己封了乙個簡單...
奇怪的recv函式
一直有個錯覺,以為recv的函式返回值 0是有資料讀到,0是無資料,0是連線關閉等錯誤。結果最近做了個server,發現檢測不到對端連線關閉,才知道犯了個天大的錯誤,而原因就是recv的返回值的怪異。從下文才知道,即使前面select read控制代碼返回大於0,recv函式返回0竟然是代表連線關閉...