阶乘末尾 0 的个数
整数区间内整数的因子的个数
如求 100 的阶乘末尾 0 的个数;
思路:一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数((2, 5) 构成的对的个数),
2^7\times 5^8=50,000,000
而 2 的个数是远远多余 5 的个数的(每 5 个连续的数,如 3,4,5,6,7,当然会有 1 个是 5 的倍数,会有两个是 2 的倍数), 因此求出 5 的个数即可.
求解因子 5 的个数的方法:是用 n 不断除以 5, 直到结果为 0, 然后把中间得到的结果累加. 例如,
- 100/5 = 20,表示能被 5 整除
- 20/5 = 4,或者 100/5^2 表示能被 525^2 整除的个数
- 4/5= 0,或者 100/5^3 表示能被 535^3 整除的个数
则 1 到 100 中因子 5 的个数为 (20 + 4 + 0) = 24 个, 即 100 的阶乘末尾有 24 个 0. 其实不断除以 5, 是因为每间隔 5 个数有一个数可以被 5 整除, 然后在这些可被 5 整除的数中, 每间隔 5 个数又有一个可以被 25 整除, 故要再除一次, … 直到结果为 0, 表示没有能继续被 5 整除的数了.
def numOfTailZero(n):cnt = 0while n:cnt += n // 5n //= 5return cnt
阶乘末尾 0 的个数相关推荐
- 滴滴2017校园招聘编程题——阶乘末尾0的个数
1.题目如下图所示: 2.分析: 这个题目描述的很简单,思路看似也很清晰,我们第一想到的肯定就是正常计算和统计--先计算N!阶乘的结果,然后统计结果末尾0的个数.看似这是一个很好的也很 ...
- C++版本计算n阶乘末尾0的个数原理讲解及代码实现
C++版本计算n阶乘末尾0的个数原理讲解及代码实现 /*! * Copyright (c) 2020,ZYF. * All Rights Reserved. * * \file Factorial.c ...
- 求n的阶乘末尾0的个数
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2. 思路:末尾0的个数就是指这个数总共有几个10因子,而10又能表示成2和5的乘积.假 ...
- 阶乘末尾0的个数(java)
从输入中读取一个数n,求出n!中末尾0的个数. 输入格式: 输入有若干行.第一行上有一个整数m,指明接下来的数字的个数.然后是m行,每一行包含一个确定的正整数n,1<=n<=1000000 ...
- 阶乘末尾 0 的个数.c
// 阶乘尾数零的个数 // 100!的末尾有多少个0?/* 问题分析和算法设计:首先分析在100!结果值的末尾产生0的条件.不难看出:一个整数若含有一个因子5则必然会在求100!时产生一个0.因此问 ...
- 求阶乘N!末尾0的个数
POJ上有这个题目.http://poj.org/problem?id=1401.去掉一大堆没有用的信息,POJ的描述如下: For example, they defined the functio ...
- c语言 n阶阶乘尾0个数,计算n的阶乘(n!)末尾0的个数
题目: 给定一个正整数n,请计算n的阶乘n!末尾所含有"0"的个数. 举例: 5!=120,其末尾所含有的"0"的个数为1: 10!= 3628800,其末尾所 ...
- 【经典智力题】1024! 末尾有多少个0?——“计算阶乘末尾0的数量”问题引出
网上有这样一个广为流传的有趣问题: 1024! 末尾有多少个0? 相应的解法是: 末尾0的个数取决于乘法中因子2和5的个数.显然乘法中因子2的个数大于5的个数,所以我们只需统计因子5的个数. 是5的倍 ...
- 统计阶乘结果的末尾0的个数
统计结成结果的末尾0的个数 今天看到一道题目,是让求解 1024! 末尾的0的个数.对于这个问题,作者首先想到了蛮力法..先将阶乘的结果计算出来放入数组然后统计末尾0的个数.这样做的话首先得先进行较大 ...
最新文章
- 比navicat更好用的工具_5118是查什么的?做什么用的?对比站长工具和爱站谁更好?...
- 网上看的几点人生建议
- msbuild构建步骤_如何按照以下步骤构建最终的AI聊天机器人
- 101 Free VMware Tools
- 神奇的 37% 的概率
- postgres数据库常见报错
- cvc-complex-type.2.3: Element 'beans' cannot have character [children]
- DotPass for Mac(密码生成器)
- html给页面整体添加左右边距_css div 网页的页面边距怎么控制
- k8s资源之pvpvcsc
- react 页面跳转(下一页,返回上一页)
- TADF材料的机制原理;TADF的机理;热活化延迟荧光如何产生?
- css修改谷歌浏览器和火狐浏览器的滚动条样式
- CPU发展史和相关品牌介绍
- 智能语音语义时代,产品经理怎么让AI更聪明?(效果向)
- Android回调详解
- 万般皆下品,惟有读书高
- linux使用spotify/kafka 镜像docker部署 Kafka
- SAAS软件的成熟度模型总结
- elasticsearch 深入 —— 全文检索
热门文章
- 自动化部署mysql主从复制集群_使用docker部署mysql主从复制集群
- mysql当执行delete语句时备份_mysql中,执行delete语句时出现Lock wait timeout exceeded问题...
- 可以做服务器操作系统的是,可以做服务器操作系统
- LeetCode 98. 验证二叉搜索树(递归)(迭代)
- 北京地铁票价查询系统 c++ Dijkstra算法
- 华为lab-rs-v1-2.3_OSPF基础
- win10装系统--笔记
- linux常用命令整理1
- kickstart注意事项
- hdu 5919--Sequence II(主席树--求区间不同数个数+区间第k大)