AcWing 1381. [Java]阶乘(不解释~)
原题链接
简单
作者:
寒星hanxing
,
2021-01-25 16:29:55
,
所有人可见
,
阅读 411
Java 代码
//不解释~
import java.util.Scanner;
public class Main {
private static int[] a = {1, 2, 4, 3};
private static int[] b = {1, 1, 2, 6, 4};
private static int helper(int n) {
if (n < 5) return b[n];
int t = n % 5, k = n / 5;
return a[k % 4] * helper(t) % 5 * helper(k) % 5;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int res = helper(n);
if ((res & 1) == 1 && res > 1) res = (res + 5) % 10;
System.out.println(res);
}
}