luogu P2759 奇怪的函数 |二分答案
Posted naruto-mzx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu P2759 奇怪的函数 |二分答案相关的知识,希望对你有一定的参考价值。
题目描述
使得 x^x达到或超过 n 位数字的最小正整数 x 是多少?
输入格式
一个正整数 n
输出格式
使得 x^x达到 n 位数字的最小正整数 x
计算一个数有多少位 log10(x)+1
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
int n;
inline bool check(int x){
if(x*log10(x)+1<n)return 0;
else return 1;
}
signed main(){
cin>>n;
int l=1,r=n,ans;
while(l<=r){
int mid=(l+r)>>1;
if(check(mid)){
r=mid-1;
ans=mid;
}else{
l=mid+1;
}
}
cout<<ans<<endl;
}
以上是关于luogu P2759 奇怪的函数 |二分答案的主要内容,如果未能解决你的问题,请参考以下文章