找0到1000之间任意数的阶乘后得到的数末尾0的个数
来源:互联网 发布:五婶软件下载 编辑:程序博客网 时间:2024/06/14 01:11
//看着很简单的一道题,但是并不常规,考虑数据过大不能存储问题,必须用巧法来解决问题package Day40;/*输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入为一行,n(1 ≤ n ≤ 1000)*/import java.util.*;public class Test1 {public static void main(String[] args) { Scanner sc =new Scanner(System.in); int n =sc.nextInt(); System.out.println(fun(n)); // System.out.println(n/=5);}//对输入值进行处理public static int fun(int n){int count=0;while(n!=0){count +=n/5;n /=5;}return count;}}//牛人的思路参考,但不通用,1000以上就不再符合,需要对结果取更大数例如1000的余数package Day40;/*输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入为一行,n(1 ≤ n ≤ 1000)*///出现的问题是阶乘得到的数太大,存不下,解决办法将得到的数处理。import java.util.*;public class Test {public static void main(String[] args) { Scanner sc =new Scanner(System.in); int n =sc.nextInt(); System.out.println(fun(n));}public static int fun(int n){int count=0;long f=1;for(int i=1;i<=n;i++){ f=f*i;while(f%10==0){count=count+1;f=f/10;}f=f%100;}return count;}}
阅读全文
0 0
- 找0到1000之间任意数的阶乘后得到的数末尾0的个数
- 计算任意数阶乘n!末尾所含0的个数
- 求一个数的阶乘末尾0的个数
- 输入任意一个数,得到1到这个数之间的1的个数
- 阶乘末尾0的个数
- 阶乘末尾 0 的个数
- 阶乘末尾0的个数
- POJ 1401:Factorial 求一个数阶乘的末尾0的个数
- java面试题之计算一个数的阶乘末尾0的个数
- 51 nod 1003:一个数阶乘后0的个数
- 判断一个数的阶乘的末尾有几个0
- n的阶乘末尾0的个数
- 求阶乘数包含0的个数
- 统计一个数阶乘0的个数
- 阶乘 n! 末尾 0 的个数
- 计算阶乘n!末尾0的个数
- 求阶乘N!末尾0的个数
- 计算阶乘末尾0的个数
- mysql一些操作技巧
- [LeetCode-Algorithms-53] "Maximum Subarray" (2017.10.19-WEEK7)
- redis(6)——AOF持久化
- 从C++到Go
- java 容器
- 找0到1000之间任意数的阶乘后得到的数末尾0的个数
- ASP.NET MVC利用input通过ajax上传文件
- Linux安装JDK,tomcat等配置
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 2018秋招 今日头条1017 房间
- 我的Linux系统入坑之路
- 数据结构|链队列的实现(实验3.4)
- git看不到别人创建的远程分支
- spring事务管理几种方式