cogs 558 奇怪的函数

提交地址:http://cojs.tk/cogs/problem/problem.php?pid=558

558. 奇怪的函数

★☆   输入文件:xx.in   输出文件:xx.out   简单对比
时间限制:1 s   内存限制:32 MB

问题描述
    使得x^x达到或超过n位数字的最小正整数x是多少?
 
输入数据
    输入一个正整数n。
 
输出数据
    输出使得x^x达到n位数字的最小正整数x。
 
输入样例
11
 
输出样例
10
 
时间限制
    各测试点1秒
 
内存限制
    你的程序将被分配32MB的运行空间
 
数据规模
    n<=2 000 000 000
 1 #include<cstdio>
 2 #include<cmath>
 3 #define maxx 10000000000
 4 using namespace std;
 5 unsigned long long x,ans,l=1,r=maxx;
 6 unsigned long long n;
 7 unsigned long long f(unsigned long long x){
 8     return (x*(log10(x))+1);
 9 }
10 int main(){
11     scanf("%lld",&n);
12     while(l<r){
13         x=(l+r)/2;
14         if(f(x)<n) l=x+1;
15         else r=x;
16     }
17     printf("%lld",l);
18     return 0;
19 }

 

posted @ 2016-05-26 20:51  月沫  阅读(186)  评论(0编辑  收藏  举报