输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。
Input
输入N(1 <= N <= 10^6)
Output
输出N的阶乘的长度
Input示例
6
Output示例
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 = 50000+5;
const double PI=acos(-1.0);
//const ll mod = 1000005;
const int INF = ( 1 << 20 ) ;
const int dx[] = {-1, 0, 1, 0};
const int dy[] = { 0,-1, 0, 1};
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=1; i<=n; i++) t += log10(i);ans = (ll)( t + 1 );cout << ans << endl;}
}int main(){input();return 0;
}

转载于:https://www.cnblogs.com/Asimple/p/7631607.html

51Nod 1058 N的阶乘的长度相关推荐

  1. N的阶乘的长度 V2(斯特林近似) 51Nod - 1130

    题目: 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T ...

  2. N的阶乘的长度(不使用Stirling公式)

    如图,题目出处51nod,http://www.51nod.com/Challenge/Problem.html#problemId=1058 自然数n的位数为1+lg n舍去小数所得结果(以1234 ...

  3. 51nod 基础题题解(全)

    基础题(40): 1000 A + B 1005 大数加法 1006 最长公共子序列Lcs 1018 排序 1019 逆序数 1027 大数乘法 1046 A^B Mod C 1057 N的阶乘(大数 ...

  4. 51Nod基础组(Python)

    1000 A + B a, b = map(int, input().split()) print(a+b) 1005 大数加法 a = int(input()) b = int(input()) p ...

  5. 第H题 输入N求N的阶乘的10进制表示的长度

    输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 输入N(1 <= N <= 10^6) Output 输出N的阶乘的长度 Sample Input 6 ...

  6. Java中求100的阶乘

    使用BigInteger大容量运算类计算100的阶乘 一.一般算法(循环) public class Test { public static void main(String[] args) { i ...

  7. 周末狂欢赛3(跳格子,英雄联盟,排序问题)

    文章目录 T1:跳格子 题目 题解 CODE T2:英雄联盟 题目 题解 CODE T3:排序问题 题目 题解 CODE T1:跳格子 题目 n 个格子排成一列,一开始,你在第一个格子,目标为跳到第 ...

  8. Ubuntu MySQL 亚马逊_亚马逊EC2 ubuntu下安装mysql远程无法连接问题o

    无法远程的原因有很多,我今天遇到的问题是通过navicat无法远程连接我在EC2上创建的实例. 1.通过命令" netstat -an|grep 3306 "检查一下3306端口对 ...

  9. 51nod 1130 阶乘长度 [Stirling公式]

    输出n!的位数 n! 约等于 根号下(2πn) * (n/e )^n 那么 res = 1/2*lg(2πn) + nlg(n/e) + 1 实测n很小也是正确的答案 #include<iost ...

最新文章

  1. rtmp 封包及消息
  2. 如何设置Winform控件的ClientRectangle
  3. animation in Jquery used in ui5
  4. 创建一个Java :: Geci生成器
  5. ps绿化工具_绿化消防车价位
  6. 学计算机不会重装系统正常吗,系统重装不了的原因是什么 重装不了系统的解决方法【图文】...
  7. JAVA多线程之synchronized和volatile实例讲解
  8. 美洽客服报表功能:用数据驱动企业业绩增长
  9. C语言总结(一维数组、二维数组、字符数组和字符串)
  10. 如何防止亚马逊账户关联?
  11. Java程序员面试分类真题(后附答案解析)
  12. 苹果手机白屏_为什么安卓用久了会卡顿,苹果用久了会闪退?看完长知识了
  13. 阿里IoT套件 使用记录2 消息转发
  14. 2017年下半年中学综合素质问答题
  15. 每月一书(202102):《人类简史》
  16. ipv6笔记无状态地址自动配置及状态
  17. 说说你平时怎么优化mysql的_面试:给我说说你平时是如何优化MySQL的?
  18. 鼠标悬停显示滚动条,移出不显示
  19. 【小强推歌】---Shania Twain 经典歌曲收藏
  20. android安全问题(八)伪造短信(利用原生android4.0漏洞)

热门文章

  1. matlab运行时风扇,TCFD和CAESES耦合优化案例-轴流风扇
  2. 为什么学前端不先学框架?
  3. web前端好入门吗?
  4. 为什么学习web前端,必须掌握JavaScript这门编程语言
  5. jquery mysql表格_使用jQuery设计数据表格:设计表格基类
  6. 传感器工作原理_荧光氧气传感器工作原理简介
  7. 已知若干点求圆心_【求精干货】高中数学知识点总结归纳高一学生必须掌握
  8. c 取数组 最大值 算法_拜托,面试别再问我最大值最小值了!!!
  9. java file数组 初始化_java从文件中读取数据并赋值给数组
  10. STM8学习笔记---通过示波器分析串口数据