[java] view plain copy print ? import java.io.BufferedInputStream; import java.math.BigInteger; import java.util.Scanner; public class Main { public static BigInteger f(int n) { BigInteger sum = new BigInteger("1"); while (n > 1) { sum = sum.multiply(BigInteger.valueOf(n--)); } return sum; } public static void main(String[] args) { Scanner sc = new Scanner(new BufferedInputStream(System.in)); while (sc.hasNext()) { BigInteger x = f(sc.nextInt()); System.out.println(x); } } } 当年用C硬是没写出来,貌似可以用到64b的int解决,用JAVA就简单多了 只要知道BigInteger的使用方式就可以了,注意BigInteger类里面的return value就行,