HDU 1018 斯特林公式应用
2015-07-18 00:38
513 查看
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018
题意:输入一个整数,输出这个数的阶乘的位数
思路:
没有!
吸收知识:
1.对数函数的认识:
对数知识的补充:
(1) 换底公式: 通过此公式,可以求以n为底的对数(比如常用的 long2( n ))
2.可以用 取对数求一个数的位数 :
3.斯特林公式:
详细讲解见百度百科:http://baike.baidu.com/link?url=qAkgOnH7M0kYQMtco7fBGsk8ILKhhalouXUo-C4NmjsSv9rZEetsTRpqqddHK2-QWLIOXHvtjV7IUKsCCRzlIq
Accepted代码:
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018
题意:输入一个整数,输出这个数的阶乘的位数
思路:
没有!
吸收知识:
1.对数函数的认识:
对数知识的补充:
(1) 换底公式: 通过此公式,可以求以n为底的对数(比如常用的 long2( n ))
2.可以用 取对数求一个数的位数 :
3.斯特林公式:
详细讲解见百度百科:http://baike.baidu.com/link?url=qAkgOnH7M0kYQMtco7fBGsk8ILKhhalouXUo-C4NmjsSv9rZEetsTRpqqddHK2-QWLIOXHvtjV7IUKsCCRzlIq
Accepted代码:
题意:输入一个整数,输出这个数的阶乘的位数
思路:
没有!
吸收知识:
1.对数函数的认识:
log( n ) //返回以e为底的对数
log10( n ) //返回以10为底的对数
对数知识的补充:
(1) 换底公式: 通过此公式,可以求以n为底的对数(比如常用的 long2( n ))
2.可以用 取对数求一个数的位数 :
n的位数 = log10( n ) + 1 ;
3.斯特林公式:
详细讲解见百度百科:http://baike.baidu.com/link?url=qAkgOnH7M0kYQMtco7fBGsk8ILKhhalouXUo-C4NmjsSv9rZEetsTRpqqddHK2-QWLIOXHvtjV7IUKsCCRzlIq
Accepted代码:
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
#define Pi 3.1415926
#define e 2.71828182
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
cout<<(int)(ceil ( 1/2.0 * log10( 2.0 * Pi * n ) + n * log10( n*1.0 ) - n * log10( e*1.0 ) ) )<<endl;
}
return 0;
}
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018
题意:输入一个整数,输出这个数的阶乘的位数
思路:
没有!
吸收知识:
1.对数函数的认识:
log( n ) //返回以e为底的对数
log10( n ) //返回以10为底的对数
对数知识的补充:
(1) 换底公式: 通过此公式,可以求以n为底的对数(比如常用的 long2( n ))
2.可以用 取对数求一个数的位数 :
n的位数 = log10( n ) + 1 ;
3.斯特林公式:
详细讲解见百度百科:http://baike.baidu.com/link?url=qAkgOnH7M0kYQMtco7fBGsk8ILKhhalouXUo-C4NmjsSv9rZEetsTRpqqddHK2-QWLIOXHvtjV7IUKsCCRzlIq
Accepted代码:
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
#define Pi 3.1415926
#define e 2.71828182
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
cout<<(int)(ceil ( 1/2.0 * log10( 2.0 * Pi * n ) + n * log10( n*1.0 ) - n * log10( e*1.0 ) ) )<<endl;
}
return 0;
}
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析
- C++实现汉诺塔算法经典实例
- PHP实现克鲁斯卡尔算法实例解析
- C#常见算法面试题小结