hdu1018阶乘位数

简介:

n!的位数=log10(1)+...+log(n);

n!=sqrt(2*π*n)*(n/e)^n;

代码如下:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int m,n;
    cin>>m;
    for(int i=0;i<m;i++)
    {
        cin>>n;
        double sum=0.5*log10(2*3.1415927*n)+n*log10(n/2.718281828459);
        cout<<(int)sum+1<<endl;
    }
    return 0;
}


目录
相关文章
|
1月前
|
存储 算法 C++
LeetCode第二题(两数相加)
这篇文章是关于LeetCode上第二题“两数相加”的题解,其中详细描述了如何使用C++语言来实现将两个逆序存储的非负整数链表相加,并返回结果链表的算法。
30 0
LeetCode第二题(两数相加)
|
3月前
|
JavaScript 前端开发 PHP
leetcode——两数相加【二】
leetcode——两数相加【二】
34 0
|
6月前
55.输入两个正整数m和n,求其最大公约数和最小公倍数
55.输入两个正整数m和n,求其最大公约数和最小公倍数
45 0
|
机器学习/深度学习 算法
【Leetcode】面试题 16.05. 阶乘尾数、HJ7 取近似值
目录 面试题 16.05. 阶乘尾数 HJ7 取近似值
69 0
|
6月前
|
存储
【力扣】2. 两数相加、445. 两数相加Ⅱ
【力扣】2. 两数相加、445. 两数相加Ⅱ
|
6月前
|
存储
leetcode-2:两数相加
leetcode-2:两数相加
41 0
|
存储 算法
LeetCode2-两数相加
LeetCode2-两数相加
|
存储
LeetCode 2. 两数相加
LeetCode 2. 两数相加
72 0
AcWing 810. 绝对值
AcWing 810. 绝对值
81 0
AcWing 810. 绝对值