求阶乘末尾0的个数(java)

末尾0的个数

题目描述

输入一个正整数,求n!末尾有多少个0?比如n = 10; n! = 3628800 ,所以答案为2

输入描述

输入为一行,n (1 <= n <= 1000)//输入量范围限制不能用先求阶乘的方法,会产生溢出

输出描述

输出一个整数,即题目所求

 

输入

10

输出

扫描二维码关注公众号,回复: 4126851 查看本文章

2

输入

50(结果30414093201713378043612608166064768844377641568960512000000000000

输出

12

package javaPractice;

import java.util.*;

public class CountZero {
	public static void main(String[] args) {
		CountZero cz = new CountZero();
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		System.out.println(n+"d的阶乘中尾部零的个数为:"+cz.countFive(n));
		
	}
	public int countFive(int n) {
		int count = 0;
		if(n<5) {
			return count;
		}
		else {
			return n/5 + countFive(n/5);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/Moliay/article/details/84196255
今日推荐