N!的k进制位数 【打表】【斯特林公式变形】
来源:互联网 发布:python 内容管理系统 编辑:程序博客网 时间:2024/06/05 19:23
N!的位数
Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu
Submit
Status
Description
我们知道n!=n*(n-1)(n-2)…*2*1。
那么给定一个n,n!是几位数呢。
更困难的,n!的k进制数有多少位呢。
Input
第一行是一个数T(1≤T≤50000),代表T组测试数据。
每一组测试数据占一行,有两个整数n(0 ≤ n ≤ 10^6),k(2≤k≤1000)。
Output
对于每组测试数据,输出n!k进制数的位数。
Sample Input
2
3 10
3 2
Sample Output
1
3
学习了
和斯特林公式还是蛮像的,就是 最后除以个log(k) 就行了,还有这道题要 打表空间换时间
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>#include<queue>#include<stack>#include<map>#include<vector>#include<set>#define CLR(a,b) memset((a),(b),sizeof(a))#define inf 0x3f3f3f3f#define mod 100009#define LL long long#define M 10000000#define ll o<<1#define rr o<<1|1#define lson o<<1,l,mid#define rson o<<1|1,mid+1,rusing namespace std;void read(int &x){ x=0;char c; while((c=getchar())<'0'); do x=x*10+c-'0';while((c=getchar())>='0');}double a[M];void dabiao(){ double d=0; a[0]=0.0; for(int i=1;i<M;i++) { d+=log(i); a[i]=d; }}int main(){ dabiao(); int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); printf("%d\n",int(a[n]/log(m))+1); } return 0;}
0 0
- N!的k进制位数 【打表】【斯特林公式变形】
- 【斯特林公式】N!的k进制位数
- Digits of Factorial (求N!的k进制位数)(打表)
- ACM:n!的位数 :斯特林公式
- 求N!的位数(斯特林公式)
- hdu1018Big number(N!的位数-斯特林公式)
- 斯特林公式--求n!的位数
- 1091: N!的k进制位数 [数学]
- 利用斯特林(Stirling)公式求解n!的位数
- 利用斯特林(Stirling)公式求解n!的位数
- poj1423(斯特林公式(n!的位数))
- ACM-大数N!的位数公式
- ACM-大数N!的位数公式
- ACM-大数N!的位数公式
- ACM-大数N!的位数公式
- ACM-大数N!的位数公式
- 给定N位数,去掉K位数,得到的N-K位数中最小的那个数?
- SDUT 3503 有两个正整数,求N!的K进制的位数
- linux_grepbak
- 深入理解java虚拟机读书笔记(一): jvm的分类
- linux_awk(一)
- linux_awk(二)
- IDEA 安装 mybatis-plugin并破解
- N!的k进制位数 【打表】【斯特林公式变形】
- Centos7下安装apache过程总结
- C# udp小程序
- RecycleView简单实现滑动删除Item
- 特征值和特征向量(二)
- 栈及其实现
- 数据结构与算法
- scala(一)
- 【Unified Auditing】统一审计的存储(12.2)