实验4:BigInteger的使用

JAVA实验 飞快学 99浏览

一、实验目的

了解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字。