2018年全国多校算法寒假训练营练习比赛(第三场)
A.不凡的夫夫
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
夫夫有一天对一个数有多少位数感兴趣,但是他又不想跟凡夫俗子一样,
所以他想知道给一个整数n,求n!的在8进制下的位数是多少位。
所以他想知道给一个整数n,求n!的在8进制下的位数是多少位。
输入描述:
第一行是一个整数t(0<t<=1000000)(表示t组数据)
接下来t行,每一行有一个整数n(0<=n<=10000000)
输出描述:
输出n!在8进制下的位数。
示例1
输入
3 4 2 5
输出
2 1 3
代码:
1 //A-斯特林公式-求位数
2 #include<iostream>
3 #include<cstring>
4 #include<cstdio>
5 #include<cmath>
6 #include<algorithm>
7 #include<stack>
8 #include<map>
9 #include<vector>
10 #include<queue>
11 #include<set>
12 using namespace std;
13 const int inf=1<<30;
14 const int maxn=1e5+10;
15 const double eps=1e-6;
16 const int mod=1e9+7;
17 const double pi=acos(-1.0);
18 const double epx=1e-10;
19 const double e=exp(1);
20 typedef long long ll;
21 int l(int n){
22 int s=1;
23 if(n>3)
24 s=(log(2*pi*n)/log(8))/2+n*(log(n/e)/log(8))+1;
25 return s;
26 }
27 int main(){
28 int n,t;
29 scanf("%d",&t);
30 while(t--){
31 scanf("%d",&n);
32 printf("%d
",l(n));
33 }
34 return 0;
35 }
最近一堆大数的题目写的头都炸了,java学的超级垃圾,c语言版的太长不想写。。。
补题补题,天坑还未补。。。
太垃圾了,我怎么这么菜啊。