求n!末尾0的个数

转载 2007年10月03日 16:26:00

思考: 该题实际上是求(2 5)因子对的个数。对于任意一个阶乘,5因子的个数总是小于2因子的个数,仅需考虑n!中5因子的个数

方法:  
 (1) 将该数用 5 除, 得到的商取整数。  
 (2) 然后再用所得商当被除数除以 5,得到的商取整数。  
 (3) 持续做到商等于 0 为止。  
 (4) 过程中的商加总即为阶乘的尾数 0 的个数。  
 
 例: 1234! 的尾数 0 的个数计算如下: 代码:
   1234/5  = 246
   246/5  = 49
   49/5  = 9
   9/5  = 1
   1/5  = 0  
 ------ ---------- 305

原理:
 行(1)得到的是1~~~n中因子含5的数的个数
 行(2)得到的是1~~~n中因子含25的数的个数
   .
   .
 行(n)得到的是1~~~n中因子含5^n的数的个数

 将这些数进行累计就得到了5因子的个数,也就是末尾0的个数。

Attachment :my code

#include <stdio.h>

int main()
{
 int i, n;

 scanf("%d", &n);
 for(i=0; i<n; i++)
 {
  int temp;
  int cnt = 0;
  
  scanf("%d", &temp);
  while(temp != 0)
   cnt += (temp = temp/5);
  
  printf("%d/n", cnt);
 }
}

 

数学基础:HUD1124-Factorial(N!末尾0的个数)

FactorialProblem DescriptionThe most important part of a GSM network is so called Base Transceiver S...

求N!末尾0的个数

此题n的取值可能很大,甚至会达到亿,这里我们区最大范围2000000000(2*10^9)。 分析一: 乘积末尾的0的个数依赖于因子中的2的个数和5的个数。对于阶乘来说,每2个数字就至...
  • HK_JH
  • HK_JH
  • 2013年04月13日 21:43
  • 645

求N!末尾有多少个0

求N!末尾有多少个0 /*思考: 该题实际上是求(2 5)因子对的个数。对于任意一个阶乘,5因子的个数总是小于2因子的个数,仅需考虑n!中5因子的个数 方法:   (1) 将该数用 ...

求阶乘N!末尾0的个数

POJ上有这个题目。http://poj.org/problem?id=1401。去掉一大堆没有用的信息,POJ的描述如下:For example, they defined the function...

Light oj 1138 - Trailing Zeroes (III) 【二分查找好题】【 给出N!末尾有连续的Q个0,让你求最小的N】

1138 - Trailing Zeroes (III) PDF (English) Statistics Forum Time Limit: 2 second(s) Mem...

算法---面试题/--求N的阶乘N!中末尾0的个数

】–给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0 分析: 1)、如果N是一个很大的数,它的阶乘可能已超出计算机所能计算的最大范围,...

一步一步写算法(之n!中末尾零的个数统计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】     在很多面试的题目中,求n!结果中零的个数也是经常遇到的一道题目。那么这道题目...

【算法题】进制转换、末尾0的个数、餐馆问题

一共三个问题,写于第一二次课后。 2017/11/171、问题一:进制转换1.1 问题描述问题链接给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数。输入描述:输入为一行,M(3...

滴滴出行2017秋招笔试编程题(一)——连续最大和、末尾0的个数、进制转换

这题比较简单,算法过程就是遍历数组,记录到第i个数的连续最大和,在计算第i个数的连续最大和时,先判断到第i-1个数的连续最大和是正还是负,如果是负数,则到第i个数的连续最大和就是第i个数本身;如果是正...

给定一个整数N,那么N的阶乘N!末尾有多少个0呢?求N!的二进制表示中最低位1的位置。

题目1:给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。 初看这样的题目可能会想到直接求出N!的阶乘,然后再计算出0的个数。 显...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求n!末尾0的个数
举报原因:
原因补充:

(最多只允许输入30个字)