`
ladymaidu
  • 浏览: 678402 次
文章分类
社区版块
存档分类
最新评论

阶乘中0的个数

 
阅读更多

1. 问题描述:

给定一个N,那么N的阶乘的末尾中0的个数是多少?

2. 解题思路

通过分析可得,只要得到从1到N中每个数5的幂的次数总和。

3. 实现代码:

//----------------------------

// count zero number

//--------------------------

#include <stdio.h>

#include <stdlib.h>

int main()

{

int n;

int i= 0;

int j;

int tmp;

scanf("%d", &n);

// 判断5的幂的个数

for(j = 1; j <= n; ++j )

{

tmp = j;

while(tmp % 5 == 0)

{

i++;

tmp /= 5;

}

}

printf("%d", i);

return 0;

}

分享到:
评论

相关推荐

    C++版本计算n阶乘末尾0的个数原理讲解及代码实现

    C++版本计算n阶乘末尾0的个数原理讲解及代码实现

    阶乘连续零的个数

    阶乘连续零的个数,很短的几行代码

    C语言判断阶乘结果中0的个数的简易技巧

    输入一个数n后,把n!这个数分解后可见,只有出现2 * 5时0的个数才会增加,而2的个数是大于5的,所以可用循环将n!一直除以5以判断5的个数,再将其输出即可。该方法较为简易,欢迎指正

    n的阶乘问题--阶乘位数--阶乘末尾0的个数

    NULL 博文链接:https://z-jls03.iteye.com/blog/830994

    n的阶乘末尾有多少个0_n的阶乘末尾的0_

    题解:求n的阶乘末尾0的数量。因为n的阶乘容易爆整数范围,所以普通算法不合适。用高精度容易超时,这里直接给出数学求解过程

    用程序得出100阶乘后有多少个0

    全国计算机二级C语言程序考试题,偶得出了其后有多少个0,拿来与大家分享

    大数阶乘并统计结果中0的个数

    输入一个自然数n,求,同时统计结果中有多少个0。

    尾数零的个数

    求N阶乘的尾部零的个数, 设计一个算法,计算出n阶乘中尾部零的个数 样例 11! = 39916800,因此应该返回 2 尾部连续的0的个数

    特殊的阶乘因式分解

    描述 给定两个数m,n,其中m是一个素数。 将n(0)的阶乘分解质因数,求其中有多少个m。 输入 第一行是一个整数s(0),表示测试数据的组数 随后的s行, 每行有两个整数n,m。 输出 输出m的个数

    C语言编程训练:循环结构-求阶乘末尾零个数

    末尾的零的个数等于2和5的指数中的较小的一个。故问 题导致对从1到N的正整数求是2k和5i型数倍数的数的个数。 例如:100!=1 x 2 x 3 x ... x 100, 其中5的倍数为5, 10, …, 95, 100共20个,20个中有25的倍数

    【lintcode】2.尾部的零(c/c++/python解法)

    设计一个算法,计算出n阶乘中尾部零的个数 样例 样例 1: 输入: 11 输出: 2 样例解释: 11! = 39916800, 结尾的0有2个。 样例 2: 输入: 5 输出: 1 样例解释: 5! = 120, 结尾的0有1个。 挑战 O(logN)的时间复杂度 1....

    1000的阶乘所有的零和尾部0的个数(用递归和不用递归两种方式实现)

    c

    计算阶乘(数组存储)

    问题描述。 试计算n!=1×2×3×…×n尾部连续零的个数,这里正整数n(n)从键盘输入。 例如,n=12时,12!尾部连续2个零,输出2。 测试数据: n=2015; n=9999

    java阶乘计算获得结果末尾0的个数代码实现

    今天偶然看到一个要求,求1000~10000之间的数n的阶乘并计算所得的数n!末尾有多少个0?要求: 不计算 只要得到末尾有多少个0就可以了,看下面的代码吧

    LeetCode每日一题–阶乘后的零

    输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.    说明: 你算法的时间复杂度应为 O(log n) 。    思路一:此题主要是数学知识–质因数...

    C语言编程训练-循环结构-求阶乘

    数的阶乘定义为 N!=1 x 2 x 3 x ... x N。 编写计算机程序确定 N!并用科学记数法输出结果,精确到小数点后4位。 【输入说明】 输入的第一行是一个单个的确定的正整数T,他指名接下来的数字的个数,然后是T行,每...

    C++程序设计练习题 Online Judge判定

    1.阶乘尾部0的个数 问题描述 给定非负整数n,计算n的阶乘尾部0的个数。 输入 输入数据有若干行,每行上有一个非负整数n,对应一种情形。 输出 对于每一种情形,直接输出结果、换行。 2.判断算式的正确性 问题描述 ...

    单片机常用的14个C语言算法

    即个位是1的个数存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在数组x[10]。 二、求两个整数的最大公约数、最小公倍数分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数)(1...

    matlab计算阶乘 排列 组合 pdist函数计算距离

    从n个不同元素中取出m(m≤n)个元素的所有组合的个数。 MATLAB中的方法如下: combntns(5,3); nchoosek(5,3); 排列问题 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个...

    java课程实验

    (4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。 实验三 1、按照要求使用Java进行...

Global site tag (gtag.js) - Google Analytics