array04.java

来自「已经编写好的数据结构课本程序可以减轻您的负担」· Java 代码 · 共 57 行

JAVA
57
字号
// =============== Program Description ===============
// 程序名称: array04.java
// 程序目的: 设计一个可容纳40位数的求n!程序
// Written By Kuo-Yu Huang. (WANT Studio.) 
// ===================================================
import ConsoleReader.*;				// 导入已定义的数据输入类

public class array04
{	
	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<40;i++)		// 将数组初始值设为0
			Data[i] = 0;

		Data[0] = 1;              	// 设数组第0位数为1
		Data[1] = 1;			// 设数组第1位数为1
		Digit = 1;			// 设数据位数为1

		System.out.print("Enter a number what you want to calculus : ");
		ConsoleReader console = new ConsoleReader(System.in);
						// 读取用户欲求的N值
		N = console.readInt();
		
		for (i=1;i<N+1;i++)
		{
			for (j=1;j<Digit+1;j++)
				Data[j] *= i;	// 数组中内容的运算
			for (j=1;j<Digit+1;j++)
			{
				if (Data[j]>10)
				{
					for (r=1;r<Digit+1;r++)
					{
						if (Data[Digit]>10)
							Digit++;
						// 当数组中的值大于10时,则位数加1
						Data[r+1] += Data[r]/10;
						// 前一位数组值 = 前一位数组值 + 此位数组值除以10
						Data[r]=Data[r]%10;
						// 此位数组值 = 此位数组值除10取余数
					}
				}
			}
			System.out.print(i+"! = ");
			for (k=Digit;k>0;k--)	// 打印出数组中的内容
				System.out.print(Data[k]);
			System.out.println("");
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?