首页 > 试题广场 >

末尾0的个数

[编程题]末尾0的个数
  • 热度指数:31490 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2

输入描述:
输入为一行,n(1 ≤ n ≤ 1000)


输出描述:
输出一个整数,即题目所求
示例1

输入

10

输出

2
头像 白伟仝
发表于 2020-07-24 20:53:37
统计2和5的因子个数,取较小值即可: import java.util.*; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scann 展开全文
头像 muniao94
发表于 2021-09-09 15:57:10
n!=1*2*...*m*...*n。令m从1到n遍历,当m是5的倍数时,n!的结果中0的个数会增加。并且,m中包含几个因子5,结果中增加几个0。所以程序只需统计因子5的个数总和即可。例如,m = 5 = 5*1(包含1个因子5),结果中增加1个0;m = 35 = 5*7,结果中增加1个0; m 展开全文
头像 白开水123
发表于 2022-05-12 21:38:24
说实话真不会写,确实百度了。 百度的方法是这样的。 public class Main{ public static int test(int n){ if(n < 0){ return 0; } int re 展开全文
头像 今天学了啥
发表于 2022-02-07 22:58:12
末尾0的个数就是指10的个数,即2*5倍数的个数 能被5(5^1)整除的提供1个0 能被25(5^2)整除的提供2个0 能被125(5^3)整除的提供3个0 能被625(5^4)整除的提供4个0 所以 结果= n/5 + n/25 + n/125 + n/625 #include<stdio 展开全文
头像 牛客586371325号
发表于 2022-03-12 17:56:37
//输出因子2和5个数的最小值 //判断因子并传回因子2的个数和5的个数 int fac(int n, int& n2,int & n5) { while (n >  展开全文
头像 牛客892496962号
发表于 2022-08-06 23:05:48
import math def count_zero(n:int):     x = math.factorial(n)     count = 0 &nbs 展开全文
头像 苍古自由之誓
发表于 2023-12-12 13:15:26
#include <iostream> using namespace std; int countZeors(int n) { int cnt=0;// 用于存储末尾零的个数 int i=5;// 因为每个5都会贡献一个0,所以从5开始计算 // 循环直到 n 除 展开全文
头像 苏觅云
发表于 2022-05-21 11:13:41
import java.util.*; public class Main { public static int solve(int n) { int cnt = 0; for(int i = 5; i <= n; i += 5) { 展开全文
头像 我不打朋友圈
发表于 2021-12-14 21:53:26
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) 展开全文
头像 牛客342312327号
发表于 2022-07-22 16:47:54
def 末尾0的个数(n):     阶乘 = 1     for i in range(1,n+1):     &nb 展开全文