法1:stirling公式近似

$n! \approx \sqrt {2\pi n} {(\frac{n}{e})^n}$

(如果怕n不够大下式不成立,可以当数小于10000时用for求阶层)

也可以用log10函数,不过直接使用log,e没有误差,一定注意longlong;

复杂度$O(1)$

 #include<bits/stdc++.h>
#define PI acos(-1.0)
using namespace std;
typedef long long ll;
int main(){
int n,t;
cin>>t;
double ans;
while(t--){
cin>>n;
ans=(0.5*log(*PI*n)+n*log(n)-n)/log();
cout<<(ll)ans+<<endl;
}
return ;
}

法二:

直接for+log10循环求,复杂度$O(n)$

 #include<bits/stdc++.h>
#define PI acos(-1.0)
using namespace std;
typedef long long ll;
int main(){
int n;
cin>>n;
double ans=1.0;//对10取对数之后需要+1
for(int i=;i<=n;i++){
ans+=log10(i);
}
cout<<(int)ans<<endl;
return ;
}

最新文章

  1. Android开发自学笔记(Android Studio1.3.1)&mdash;3.Android应用结构解析
  2. js 删除确定
  3. Install-Package EntityFramework -version 5.0.0.0
  4. 基于HTML5实现的Heatmap热图3D应用
  5. UVALive 6255 Kingdoms --状态搜索
  6. ios中webservice报文的拼接
  7. JQuery好用的日期选择控件 DatePicker
  8. PHP初学留神(一)
  9. event对象具有的方法
  10. repo总结
  11. ajax使用json
  12. 转:web_reg_save_param的使用详解
  13. Bootstrap入门(七)组件1:字体图标
  14. POJ2185(KMP)
  15. bzoj 4765 普通计算姬(树状数组 + 分块)
  16. 安装PyQt5之后mayavi和VTK不能使用
  17. 2017 Multi-University Training Contest - Team 1 1001&amp;&amp;HDU 6033 Add More Zero【签到题,数学,水】
  18. junit测试延伸--私有方法测试
  19. Python 3.6 中文手册——前言
  20. C语言函数声明什么时候可以省略,什么时候不能省?

热门文章

  1. HTML哪些是块级元素,哪些是行内元素、
  2. 3.26课&#183;&#183;&#183;&#183;&#183;&#183;&#183;&#183;&#183;window.document对象
  3. INT(M)表示什么意思?
  4. python中reduce()函数
  5. 7zip压缩程序的使用
  6. python第四篇:linux命令行总结 + 自动备份Python程序
  7. 创建HTML5/CSS3单页Web布局
  8. SQL嵌套子查询和相关子查询的执行过程有什么区别(推荐)
  9. 分享知识-快乐自己:Struts2 前台日期到后台的日期格式转换
  10. POJ 3126 Prime Path(BFS算法)