51Nod 1058 N的阶乘的长度
输入N(1 <= N <= 10^6)
输出N的阶乘的长度
6
3
很基础的题目,算是复习了一波log运算吧。
一个数的位数就是其对10取对数之后+1,那么:
log10(n!) = log10(1) + ... + log10(n)。
51Nod 上面数据似乎不是很严,直接用这个也过了。
还有一种算法。点击进入
//Asimple
#include <bits/stdc++.h>
//#define INF 0x3fffffff
#define swap(a,b,t) t = a, a = b, b = t
#define CLS(a, v) memset(a, v, sizeof(a))
#define debug(a) cout << #a << " = " << a <<endl
#define test() cout<<"=========="<<endl
using namespace std;
typedef long long ll;
const int maxn = +;
const double PI=acos(-1.0);
//const ll mod = 1000005;
const int INF = ( << ) ;
const int dx[] = {-, , , };
const int dy[] = { ,-, , };
ll n, m, res, ans, len, T, k, num, sum;
ll mod; void input() {
ios_base::sync_with_stdio(false);
while( cin >> n ) {
double t = 0.0;
for(int i=; i<=n; i++) t += log10(i);
ans = (ll)( t + );
cout << ans << endl;
}
} int main(){
input();
return ;
}
51Nod 1058 N的阶乘的长度的更多相关文章
- 51nod 1058 N的阶乘的长度 位数公式
		1058 N的阶乘的长度基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.Input输入N( ... 
- (斯特林公式)51NOD 1058 N的阶乘的长度
		输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 输入N(1 <= N <= 10^6) Output 输出N的阶乘的长度 Input示例 6 Out ... 
- 1058 N的阶乘的长度
		1058 N的阶乘的长度 基准时间限制:1 秒 空间限制:131072 KB 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 输入N(1 <= N <= ... 
- 51 nod 1058 N的阶乘的长度
		1058 N的阶乘的长度 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. In ... 
- 51nod  1130  N的阶乘的长度(斯特林近似)
		输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T + ... 
- 51nod 1130 N的阶乘的长度 V2(斯特林近似)
		输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T + ... 
- 【51NOD-0】1058 N的阶乘的长度
		[算法]数学 [题解]n!的位数相当于ans=log10(n!)上取整,然后就可以拆出来加了. 可以用log10(i)或log(i)/log(10) 阶乘好像有个斯特林公式…… #include< ... 
- 51Nod 1058: N的阶乘的长度(斯特林公式)
		1058 N的阶乘的长度 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Inp ... 
- 51 Nod N的阶乘的长度 (斯特林近似)
		1058 N的阶乘的长度 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Inp ... 
随机推荐
- 使用 Java 程序写文件时,记得要 flush()
			使用 Java 程序往磁盘写文件时碰到了这样的问题:文件写不全. 假如内容(StringBuffer/StringBuilder)有 100W 个字符,但是通过 Java 程序写到文件里的却不到 10 ... 
- 3D Object Classification With Point Convolution —— 点云卷积网络
			今天刚刚得到消息,之前投给IROS 2017的文章收录了.很久很久没有写过博客,今天正好借这个机会来谈谈点云卷积网络的一些细节. 1.点云与三维表达 三维数据后者说空间数据有很多种表达方式,比如:RG ... 
- 使用TensorFlow构建自己的网络
			TensorFlow对我来说,是一个陌生的框架,又很复杂,学起来不是很容易,需要找到合适的方法. 今天从tf.zeros入手,这个函数最简单,但是知道它的源码在哪里吗?后来我发现github上也有很多 ... 
- axios 中断请求
			1 <button onclick="test()">click me</button> <script src="https://unpk ... 
- 基于nmap扫描结果的端口爆破工具:BrutesPray
			大家搞内网或者C段渗透测试的时候可能遇到很多时候需要对大批的主机进行精确爆破,这时候BruteSpray就派上用场了. BruteSpray是一款基于nmap扫描输出的gnmap/XML文件.自动 ... 
- 小程序里let和var以及const区别
			在JavaScript中有三种声明变量的方式:var.let.const. var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循环同样可以使用. [JavaScript] 纯文 ... 
- windows下eclipse实现操作虚拟机ubantu中的hdfs hbase
			1.首先打开虚拟机,查看虚拟机的ip地址 2.修改C:\Windows\System32\drivers\etc下的主机名与ip的映射文件 3.配置Map/reduce 配置成功后可以查看hdfs文件 ... 
- python中文分词库——pynlpir
			安装 pip install pynlpir import pynlpir #加载包 pynlpir.open() #加载nlpir的库,这步是必须的 #否则会出现 段错误/段转储 segment f ... 
- mui   APP与服务器之间的交互原理
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ... 
- python全栈开发   *   26知识点汇总   *    180709
			26 logging collections random 模块 一.logging低配:日志不能写入文件与显示同时进行 import logging logging.basicConfig(leve ... 
