1089: 阶乘的最高位 大数做法 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n=cin.nextInt(); BigInteger reslut=BigInteger.ONE; for(int i=1;i<=n;i++) { BigInteger j=BigInteger.valueOf(i); reslut=reslut.multiply(j); } System.out.printf("%c",reslut.toString().charAt(0)); } } 常规做法 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n=cin.nextInt(); double reslut=1; for(int i=1;i<=n;i++) { reslut*=i; while(reslut>=10) reslut/=10; } System.out.println((int)reslut); } }