源代码:
创新互联公司专注于江城企业网站建设,响应式网站设计,商城网站开发。江城网站建设公司,为江城等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
package test;
public class 阶乘 {
public static int jieCheng(int i){
return (i==1)?1:jieCheng(i-1)*i;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(jieCheng(3));
System.out.println(jieCheng(4));
}
}
//控制台数据自己获取.
int[] kim = new int[]{6,5,4,3,2,1}//这是应该从控制台获取
//递归方式获取阶乘
private int getJc(int k){
if(k=1){
return 1;
}else{
return k*getJc(k-1);
}
}
int result=0;
String buffer = "";
for(int i=0;ikim .length;i++){
if(i!=0){
buffer = buffer+" +"+kim[i]+"!";
}else{
buffer=buffer+kim[i] +"!";
}
result =result +kim[i];
}
buffer = buffer+"="+result;
System.out.println(buffer)
1、首先在电脑打开eclipse软件,创建Scanner对象。
2、然后输出信息,请求用户输入要输入计算的阶乘数。代码:System.out.println("请输入要计算的阶乘数:");
3、然后创建num接受键盘输入的信息。再创建n,sum。
4、然后创建for语句,进行计算阶乘。
5、然后在最后,输出所算的阶乘结果。代码:System.out.println(n+"的阶乘为"+sum);
6、然后再点击程序运行按钮。在下面的窗口就可以看到运行结果。
使用BigInteger大容量运算类计算100的阶乘
一.一般算法(循环)
view plaincopy to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i = 100; i++) {
result *= i;
}
System.out.println(result);
}
}
输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double
二.使用BigInteger大容量运算类
view plaincopy to clipboardprint?
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i = 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
计算结果为:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
产度:158