现实中当数值过大时可能无法存储,比如我们需要存储一个很大的数字,超过数据类型所能存储的范围,依此需求,可以用数组来创造存储更大数字的空间来存储数据。
题目:设计一个可容纳40位数的求n!的程序
程序构思:
首先将Data数组中的数据设置为初始值零,再令第一位数值为1,位数也为1,再将每次相乘的乘积存回数组中,并顺序处理每个数组中超过10的数,若数值超过10,则将位数加1,原来的数值除以10,所得的商与前一位数的和存回到前一位数的数组中,再将余数存回到原来位数的数组中,最后再输出每次计算后的结果:
程序清单:
import java.util.Scanner;
/*
* 程序功能:设计一个可容纳40位数的求n!的程序
*/
public class array {
public static void main(String[] args) {
int Data[] = new int[40];// 存储40位数的整数
int Digit; // 数据位数据量
int i, j, r, k;
int N; // 用户输入值
for (i = 1; i &