洛谷OJ - P2759 - 奇怪的函数(二分答案)
2017-05-16 21:34
288 查看
题目描述
使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少?
输入一个正整数 n
输出使得 x^x 达到 n 位数字的最小正整数 x
样例输入
样例输出
题目思路
将题目翻译成公式即为:x^x >= 10^(n-1) 对两边取对数得到 x*log10(x) >= n-1 那么我们只要枚举 x 得到最小的x即可,由于数据量的问题,我们采用二分法快速找到最小的x。
题目代码
使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少?
输入一个正整数 n
输出使得 x^x 达到 n 位数字的最小正整数 x
样例输入
11
样例输出
10
题目思路
将题目翻译成公式即为:x^x >= 10^(n-1) 对两边取对数得到 x*log10(x) >= n-1 那么我们只要枚举 x 得到最小的x即可,由于数据量的问题,我们采用二分法快速找到最小的x。
题目代码
#include <cstdio> #include <iostream> #include <map> #include <set> #include <vector> #include <stack> #include <cmath> #include <string> #include <cstring> #include <algorithm> #define LL long long using namespace std; int n, x; int l, r, mid; bool check(int a){ return a*log10(a) >= n-1; } int main(){ while(scanf("%d",&n) != EOF){ l = 1; r = 1000000000; while(l < r){ mid = (l+r) >> 1; if(check(mid)) r = mid; else l = mid + 1; } printf("%d\n",r); } return 0; }
相关文章推荐
- 洛谷Luogu-2759 奇怪的函数 (二分答案) HQG_AC的博客
- CodeVS1696 奇怪的函数 【二分答案】
- 洛谷OJ - P1024 - 一元三次方程求解(二分答案)
- 洛谷OJ - P1182 - 数列分段Section II(二分答案)
- 函数求解与二分答案
- 洛谷OJ - P1316 - 丢瓶盖(二分答案)
- [LUOGU] P2759 奇怪的函数
- 洛谷 P2759 奇怪的函数
- 洛谷Oj-P1525 关押罪犯-二分答案+二分图判定
- 洛谷OJ - P1843 - 奶牛晒衣服(二分答案)
- P2759 奇怪的函数
- 洛谷Oj-P2330 [SCOI2005]繁忙的都市-最小生成树+二分答案
- 洛谷 P2759 奇怪的函数
- 洛谷Oj-P1462 通往奥格瑞玛的道路-最短路径+二分答案
- 洛谷OJ - P2440 - 木材加工(二分答案)
- 奇怪的strtok函数剖析
- C++能不能在main之前执行自己的函数--答案是可以的
- 编程:编写一个截取字符串的函数,(网上流传的答案有的是错的)输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4
- PKU 1743(求最长重复但不重叠子串,后缀数组 + 二分枚举答案)
- 3258 River Hopscotch 二分答案