題目大意:求n!在k進製下的位數
即stirling公式:
資料範圍小就暴力,資料範圍大套用stirling公式
注意先利用log來避免數字過大而失精 最後答案要開long long
#include #include #include #include #include using namespace std;
const double pi=acos(-1.0),e=exp(1.0);
int n,k;
int main()
{ int i;
while(~scanf("%d%d",&n,&k) )
{ if(n<=100)
{ double temp=0;
for(i=2;i<=n;i++)
temp+=log(i);
temp/=log(k);
cout<
bzoj3000 Big Number 斯特林公式
給你兩個整數n和k,要求你輸出n!的k進製的位數。對於100 的資料,有2 n 2 31,2 k 200,資料組數t 200。顯然答案就是log k n log k left n right logk n 然後就不會做了otz 斯特林公式 n 2 n ne n n 2 n en n 於是有ans l...
BZOJ 2440 完全平方數
time limit 10 sec memory limit 128 mb submit 966 solved 457 submit status 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影...
BZOJ2440 完全平方數
description 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影響他對其他數的熱愛。這天是小x的生日,小 w 想送乙個數給他作為生日禮物。當然他不能送一 個小x討厭的數。他列出了所有小x不...