源代碼:
創(chuàng)新互聯(lián)公司專注于江城企業(yè)網(wǎng)站建設,響應式網(wǎng)站設計,商城網(wǎng)站開發(fā)。江城網(wǎng)站建設公司,為江城等地區(qū)提供建站服務。全流程按需網(wǎng)站建設,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務
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));
}
}
//控制臺數(shù)據(jù)自己獲取.
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軟件,創(chuàng)建Scanner對象。
2、然后輸出信息,請求用戶輸入要輸入計算的階乘數(shù)。代碼:System.out.println("請輸入要計算的階乘數(shù):");
3、然后創(chuàng)建num接受鍵盤輸入的信息。再創(chuàng)建n,sum。
4、然后創(chuàng)建for語句,進行計算階乘。
5、然后在最后,輸出所算的階乘結(jié)果。代碼:System.out.println(n+"的階乘為"+sum);
6、然后再點擊程序運行按鈕。在下面的窗口就可以看到運行結(jié)果。
使用BigInteger大容量運算類計算100的階乘
一.一般算法(循環(huán))
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);
}
}
輸出結(jié)果為0,因為int無法保存下100的階乘的結(jié)果,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);//調(diào)用自乘方法
}
System.out.println(result);//輸出結(jié)果
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);//調(diào)用自乘方法
}
System.out.println(result);//輸出結(jié)果
System.out.println(String.valueOf(result).length());//輸出長度
}
}
計算結(jié)果為:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
產(chǎn)度:158