题目描述
使得 x^x x
x
达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式
输入格式:
一个正整数 n 输出格式:
使得 x^xx
x
达到 n 位数字的最小正整数 x 输入输出样例
输入样例#1: 复制
11
输出样例#1: 复制
10
说明
n<=2000000000

这么大肯定有规律。。嗯.

求数x的位数,常规做法是写一个函数求,但是这就要求得到这个具体的这个数,这里x^x太大,如果不用高精度,肯定是不行的。

考虑一个数x,求它的位数:

log10(1)=0;

log10(10)=1;

log10(100)=2;

每10倍函数值加1,且单调递增,所以,比如log10(5)≈0.699,就可以写出一个len函数

len=floor(log(x)+1);

先+1再floor而不用ceil,实测#7会WA,大概是类似log10(1)的问题。

再考虑求x^x的位数,log(x^x)=xlog(x)

有了判断函数,就难写出一个二分答案的循环。

注意l=mid+1,否则会陷入死循环。

#include<iostream>
#include<cmath> using namespace std; typedef long long ll;
ll n; ll len(ll x){
return floor(x*log10(x)+1);
} int main(){
cin>>n;
ll l=1,r=1<<30,mid,lenm;
while(l<r){
mid=(l+r)>>1;
lenm=len(mid);
if(lenm<n) l=mid+1;
else r=mid;
}
cout<<l<<endl;
return 0;
}

[LUOGU] P2759 奇怪的函数的更多相关文章

  1. luogu P2759 奇怪的函数 |二分答案

    题目描述 使得 x^x达到或超过 n 位数字的最小正整数 x 是多少? 输入格式 一个正整数 n 输出格式 使得 x^x达到 n 位数字的最小正整数 x 计算一个数有多少位 log10(x)+1 #i ...

  2. 洛谷P2759 奇怪的函数

    P2759 奇怪的函数 题目描述 使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^x 达到 n 位数字的最小正整数 x ...

  3. 【Luogu】P2759奇怪的函数(二分)

    题目链接 看了题解之后突然发现这题简直是水题.然而不看题解就想不出来.为什么呢? len(x)=log10(x)+1 于是二分寻找x. #include<iostream> #includ ...

  4. 洛谷 P2759 奇怪的函数

    https://www.luogu.org/problemnew/show/P2759 #include<cstdio> #include<algorithm> #includ ...

  5. 洛谷P2759 奇怪的函数(log 二分)

    题目描述 使得 x^xxx 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^xxx 达到 n 位数字的最小正整数 x 输入输出样例 输 ...

  6. P2759 奇怪的函数

    题目描述 使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^x 达到 n 位数字的最小正整数 x 输入输出样例 输入样例# ...

  7. 奇怪的函数 (codevs 3538/1696) 题解

    [题目描述] 给定n,使得x^x达到或超过n位数字的最小正整数x是多少? [样例输入] 11 [样例输出] 10 [解题思路] 首先想到枚举,但是范围有点大,n<=2*10^9,果断用二分.其实 ...

  8. 【Luogu2759】奇怪的函数(数论)

    [Luogu2759]奇怪的函数(数论) 题面 题目描述 使得 \(x^{x}\)达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 \(x^ ...

  9. cogs 558 奇怪的函数

    提交地址:http://cojs.tk/cogs/problem/problem.php?pid=558 558. 奇怪的函数 ★☆   输入文件:xx.in   输出文件:xx.out   简单对比 ...

随机推荐

  1. TopJUI通过简单的代码实现复杂的批量提交功能

    业务系统的批量提交是常用的操作功能,使用传统的EasyUI开发时需要写不少代码才能实现,该功能在TopJUI中是如何实现的呢?本篇我们将通过简单的代码,把批量操作的具体实现分享给大家参考. <a ...

  2. form表单提交转为ajax方式提交

    <form action="xxx" method="get"> //action的值是请求的url地址 <div class="f ...

  3. DRF教程5-API接口文档和接口测试

    配置 配置好,就可以访问web页面 pip install coreapi #安装依赖 from rest_framework.documentation import include_docs_ur ...

  4. 2017"百度之星"程序设计大赛 - 资格赛 寻找母串

    Problem Description 对于一个串S,当它同时满足如下条件时,它就是一个01偏串: 1.只由0和1两种符组成: 2.在S的每一个前缀中,0的个数不超过1的个数: 3.S中0的个数和1的 ...

  5. 2个sql 函数dbms_lob.substr 和 wm_concat

    转自: http://blog.csdn.net/wenzhongyan/article/details/50315473 http://blog.csdn.net/ojerryzuo/article ...

  6. log4j.properties 打印到控制台 写法

    # 日志输出级别(INFO)和输出位置(stdout,R)log4j.rootLogger=INFO, stdout # 日志输出位置为控制台log4j.appender.stdout=org.apa ...

  7. linux下mysql中文乱码

    登录mysql执行mysql> show variables like 'character%';发现编码有些不是utf-8 修改/etc/mysql/my.cnf,网上说的是/etc/my.c ...

  8. 安装drupal对服务器环境的要求

    Drupal 8 Apache 2.x PHP 5.5.9 及以上版本 MySQL 5.5.3 及以上版本 Drupal 7 Apache 2.x PHP 5.2.5 及以上版本(推荐 PHP 5.4 ...

  9. php调用c# webservice方法

    第一次用,通过,还没深入了解. 首先在php.ini中启用extension=php_soap.dll,重启apache. $Client=new SoapClient("url?wsdl& ...

  10. nodejs中的异步回调机制

    1.再次clear Timer定时器的作用 setTimeOut绝非是传统意义上的“sleep”功能,它做不到让主线程“熄火”指定时间,它是用来指定:某个回调在固定时间后插入执行栈!(实际执行时间略长 ...