蓝桥杯 算法训练 P0505(Java解法)
2019-02-02 16:02
288 查看
一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5!=12345=120,因此5!最右边的那个非0的数字是2。再如,7!=5040,因此7!最右边的那个非0的数字是4。再如,15!= 1307674368000,因此15!最右边的那个非0的数字是8。请编写一个程序,输入一个整数n(0<n<=100),然后输出n!最右边的那个非0的数字是多少。
输入:
7
输出:
4
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); int temp = 1; for (int i = 1; i <= n; ++i) { temp *= i; while (temp % 10 == 0) { temp /= 10; } temp %= 1000; } int num = 0; while (num == 0) { num = temp % 10; temp /= 10; } System.out.println(num); } }
相关文章推荐
- 算法训练 最小乘积(基本型) java蓝桥杯
- 算法训练 P0505(Java实现)
- 算法-蓝桥杯-算法训练 大小写转换 (JAVA)
- 算法-蓝桥杯-算法训练 2的次幂表示 (JAVA)
- Java 蓝桥杯 算法训练 貌似化学
- Java 蓝桥杯 算法训练(VIP) 最大体积
- 蓝桥杯 算法训练VIP 友好数(Java解题)
- 算法-蓝桥杯-入门训练 Fibonacci数列 (JAVA)
- 算法-蓝桥杯-算法训练 表达式计算 (JAVA)
- 蓝桥杯 算法训练01 Java实现
- 蓝桥杯-算法训练-矩阵乘法-Java
- 算法-蓝桥杯-算法训练 前缀表达式 (JAVA)
- 算法-蓝桥杯-算法训练 图形显示 (JAVA)
- 蓝桥杯 算法训练 5-1最小公倍数 JAVA
- java语言实现ALGO-189 P0505(蓝桥杯算法训练)
- 蓝桥杯 ALGO30 算法训练 入学考试 java版
- 算法-蓝桥杯-算法训练 最大的算式 (JAVA)
- 蓝桥杯 算法训练 表达式计算 JAVA
- 算法-蓝桥杯-算法训练 区间k大数查询(JAVA)
- 蓝桥杯-算法训练-ALGO-87 字串统计 Java实现