加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

hdu 1018(求大数位数)

发布时间:2020-12-14 04:02:31 所属栏目:大数据 来源:网络整理
导读:题目大意: 输入n,然后求n的阶乘n!的位数 解题思路: 1)使用斯特林公式 lnN!=NlnN - N+0.5ln(2N*pi) 代码如下: /* * 1018_2.cpp * * Created on: 2013年8月11日 * Author: Administrator */#include iostream#include cmathusing namespace std;//acos相当

题目大意: 输入n,然后求n的阶乘n!的位数


解题思路:

1)使用斯特林公式lnN!=NlnNN+0.5ln(2N*pi)


代码如下:

/*
 * 1018_2.cpp
 *
 *  Created on: 2013年8月11日
 *      Author: Administrator
 */

#include <iostream>
#include <cmath>
using namespace std;
//acos相当于数学中arccos,反余弦函数
const double PI  = acos(-1.0);

int main(){

	int t;
	scanf("%d",&t);
	while(t--){
		int n;
		scanf("%d",&n);
		double sum = (n*log(n) - n + 0.5*log(n*2*PI))/log(10);
		cout<<(int)sum + 1<<endl;
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读