一、实验目的
了解JAVA语言基础数据类型的局限;编写基本的阶乘计算程序;使用BigInteger来实现阶乘计算。
二、实验内容
使用 int 类型来计算阶乘
使用 long 类型来计算阶乘
使用 BigInteger 来计算阶乘
三、实验要点
int 能表示的范围有多大?
long 能表示的范围有多大?
如何输出 BigInteger 类型数据?
四、代码
使用 int 类型来计算阶乘
#include <stdio.h> int main(int argc, char *argv[]) { int n, product=1; scanf("%d", &n); for(int i=1; i<=n; i++) product = product * i; printf("%d\n", product); return 0; }
使用 int 类型来计算阶乘的JAVA版本
public class JieCheng { public static void main(String[] args) { int n = 10, product=1; for(int i=1; i<=n; i++) product = product * i; System.out.printf("%d\n", product); } }
修改 int 为 long 类型
public class JieCheng { public static void main(String[] args) { long n = 20, product=1; for(int i=1; i<=n; i++) product = product * i; System.out.printf("%d\n", product); } }
使用 BigInteger 类型来计算阶乘
import java.math.BigInteger; public class JieCheng { public static void main(String[] args) { int n = 30; BigInteger product = BigInteger.ONE; for (int i = 1; i <= n; i++) product = product.multiply(BigInteger.valueOf(i)); System.out.println(product); } }
五、实验小结
总结实验过程中遇到的问题及解决办法,不少于50字。