bzoj3000
题解:
n!k进制的位数
首先考虑n!十进制的位数
=log10(n!)
然后用阶乘近似公式
继而换底
得到答案
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long double ld;
const ld pi=acos(-1.0),e=exp(),eps=1e-;
ld log(ld a,ld b){return log(a)/log(b);}
int n,k;
int main()
{
while (~scanf("%d%d",&n,&k))
if (n<=)
{
double ans=0.0;
for (int i=;i<=n;i++)ans+=log(i);
ans/=log(k);
ans=ceil(ans+eps);
printf("%.0lf\n",ans);
}
else printf("%lld\n",(long long)(0.5*log(*pi*n,k)+n*log(n,k)-n*log(e,k))+);
}
bzoj3000的更多相关文章
- BZOJ3000 Big Number
由Stirling公式: $$n! \approx \sqrt{2 \pi n} (\frac{n}{e})^n$$ 故:$$\begin{align} ans &= log_k n! + 1 ...
- [BZOJ3000] Big Number (Stirling公式)
Description 给你两个整数N和K,要求你输出N!的K进制的位数. Input 有多组输入数据,每组输入数据各一行,每行两个数——N,K Output 每行一个数为输出结果. Sample I ...
- [BZOJ3000]Big Number(斯特林公式)
求n!在k进制下的位数,n<=1e18 斯特林公式:$n!\approx \sqrt{2\pi n}(\frac{n}{e})^n$ 在n很大的时候有较好的精度保证. $\log_{k}n!+1 ...
- 【bzoj3000】Big Number 数论
题目描述 给你两个整数N和K,要求你输出N!的K进制的位数. 输入 有多组输入数据,每组输入数据各一行,每行两个数——N,K 输出 每行一个数为输出结果. 样例输入 2 5 2 10 10 10 10 ...
- bzoj3000 Big Number 数论,斯特林公式
Description 给你两个整数N和K,要求你输出N!的K进制的位数. Input 有多组输入数据,每组输入数据各一行,每行两个数——N,K Output 每行一个数为输出结果 Sample In ...
- [转载]hzwer的bzoj题单
counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ120 ...
- BZOJ 3000(Big Number-Stirling公式求n!近似值)
3000: Big Number Time Limit: 2 Sec Memory Limit: 128 MB Submit: 220 Solved: 62 [Submit][Status] De ...
- BZOJ刷题列表【转载于hzwer】
沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...
随机推荐
- python-socket作业
#客户端 import socket import threading import tkinter sock = socket.socket(socket.AF_INET, socket.SOCK_ ...
- react-native android 打包发布
react-native android 打包步骤 <一>.生成签名文件(应用身份证) 1.使用keytool命令 keytool -genkey -v -keystore my-r ...
- java并发之Lock以及和synchronized区别
从Java5之后,在Java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock. 1.Lock 首先要说明的就是Lock,通过查看Lock的源码可知,Lo ...
- RocEDU.阅读.写作《苏菲的世界》书摘(四)
亚理斯多德认为,快乐有三种形式.一种是过着享乐的生活,一种是做一个自由而负责的公民,另一种则是做一个思想家与哲学家.接着,他强调,人要同时达到这三个标准才能找到幸福与满足. 亚理斯多德提倡所谓的&qu ...
- 20145335郝昊《java程序设计》第5周学习总结
20145335郝昊<Java程序设计>第5周学习总结 教材学习内容总结 第八章 语法与继承架构 使用try.catch 特点: - 使用try.catch语法,JVM会尝试执行try区块 ...
- MR案例:链式ChainMapper
类似于Linux管道重定向机制,前一个Map的输出直接作为下一个Map的输入,形成一个流水线.设想这样一个场景:在Map阶段,数据经过mapper01和mapper02处理:在Reduce阶段,数据经 ...
- linux下错误 && 解决方法
1.使用yum命令安装出现错误 Error: Cannot find a valid baseurl for repo: extras 解决方法: vi /etc/resolv.conf 在此文件最后 ...
- git gc内存错误的解决方案
Auto packing the repository for optimum performance. You may alsorun "git gc" manually. Se ...
- tcp westwood源代码分析
/* * TCP Westwood+: end-to-end bandwidth estimation for TCP * * Angelo Dell'Aera: author of the firs ...
- 用 SqlConnectionStringBuilder 来写连接字符串,向连接字符串添加设置
正常情况下写的连接字符串: connStr = "Data Source=127.0.0.1;DataBase=Hydor;UID=***;PWD=***;Pooling=true;Min ...