求大整数阶乘

    xiaoxiao2025-09-03  25

    ​​​​​​求第n项阶乘(n!)

    import java.util.Scanner; public class theFactorial { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Please enter the number: "); int num = input.nextInt(); int temp = 1; int sum = 0; for(int i = 1; i <= num; i++) { temp *= i; } System.out.println("The " + num + "! is : " + temp); } }

    求前n项阶乘的和(1! + 2!+...+n!)

    import java.util.Scanner; public class sumFactorial { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Please enter the number: "); int num = input.nextInt(); int temp = 1; int sum = 0; for(int i = 1; i <= num; i++) { temp *= i; sum += temp; } System.out.print("The result is : " ); for(int i = 1; i <= num; i++) { System.out.print(i + "! "); } System.out.println("result is " + sum) ; } }

    求大整数阶乘N!(不会溢出)

    import java.math.*; import java.util.Scanner; public class LargeFactorial { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Please enter the number: "); int num = input.nextShort(); System.out.println(num + "! is : " + factorial(num)); } public static BigInteger factorial(long n) { BigInteger result = BigInteger.ONE; for(int i = 1; i <= n; i++) { result = result.multiply(new BigInteger( i + "")); //将数字转换为字符串,防止溢出 } return result; } }

    最新回复(0)