📄 ex3.java
字号:
//import consoleReader.*;
/**
* @author sxjiang
* E_mail: sxjiang@aust.edu.cn
* nO:s103612005075
* Class:2005-11
* name:sxjiang
*/
public class Ex3
{
public static void main(String[] args)
{
int Data[] =new int[100];//存储100位的整数数组
int Digit; //数据位数变量
int i,j,r,k; //循环计数变量
int N; //用户输入值
for(i=1;i<100;i++) //将数组裙始值设为0
Data[i]=0;
Data[0]=1; //设第0位数数组元素为1
Data[1]=1; //设第1位数数组元素为1
Digit=1; //设数据位数为1
System.out.println("一个可以计算阶乘结果达到100位的程序!");
ConsoleReader console=new ConsoleReader(System.in);
System.out.print("请输入你要求的N值:");
try{N=console.readInt();
//N=Integer.parseInt(args[0]); //用户欲求的N值
try{
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("");
}
}
catch(Exception e)
{
System.out.println("提示信息:运算结果超过100位!");
}
}
catch(Exception e)
{
System.out.println("你输入的N不是合法的数值");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -