x^x>=10^(n-1)
lg x^x>=n-1
x*lg x>=n-1
x*(log2 x/log2 10)>=n-1
左边单调递增,二分x即可


1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 using namespace std; 5 const int N=1000000000; 6 int n,l,r,mid; 7 int check(int x){ 8 if (x*(log(x)/log(10))>=n-1) 9 return 1; 10 return 0; 11 } 12 int main(){ 13 scanf("%d",&n); 14 l=1;r=N; 15 while (l<r){ 16 mid=(l+r)>>1; 17 if (check(mid)) r=mid; 18 else l=mid+1; 19 } 20 printf("%d",l); 21 return 0; 22 }
本文介绍了一种使用二分查找算法解决特定数学不等式的方法,通过将问题转化为计算机可以处理的形式,实现了对x^x>=10^(n-1)不等式的高效求解。代码示例中详细展示了如何利用C++实现这一算法,包括定义检查函数、设置搜索边界以及迭代更新中间值的过程。

405

被折叠的 条评论
为什么被折叠?



