java求n!(阶乘)末尾0的个数 | 您所在的位置:网站首页 › n-4的阶乘除以n-6的阶乘 › java求n!(阶乘)末尾0的个数 |
文章目录
题目描述解题思路代码如下总结
题目描述
输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入: 1516000 输出: 0006151 以下是本篇文章正文内容,下面案例可供参考 解题思路能产生0的质数组合只有2*5,因为2的个数显然多于5的个数,所以可以想成将n!质数分解后,一共有多少个5,那么它的末尾就有多少个0 eg:n为25时,从1-25,是5的倍数的为:5,10,15,20,25,其中25/5=5,即25包含2个5,所以25!的末尾一共有6个0 代码如下 import java.util.Scanner; public class Main1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n = scanner.nextInt(); int count = 0; for (int i = 1; i //判断是否是5的倍数 count++; j /= 5;//让j等于新的除以5的数,循环 } } System.out.println(count); } } } 总结还有一个方法是先求到阶乘,再判断数字末尾0的个数 以上这个方法不用求阶乘! |
CopyRight 2018-2019 实验室设备网 版权所有 |