java階乘代碼
A. 編寫java程序,計算n的階乘
importjava.util.Scanner;
publicclassKnownTest{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("輸入一個數字");
intn=sc.nextInt();
System.out.println("結果是:"+f(n));
}
publicstaticintf(intn){
intsum=1;
for(inti=1;i<=n;++i){
sum*=i;
}
returnsum;
}
}
B. 用java遞歸演算法求一個數字的階乘
用遞歸演算法求一個數字的階乘的程序如下:
public class JieCheng {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("請輸入一個整數:");
int n = in.nextInt();
System.out.println(n+"!="+f(n));
}
static long f(int n){
if (n==1) return 1;
else return n*f(n-1);
}
}
運行結果:
請輸入一個整數:6
6!=720
C. java 階乘的代碼
//控制台數據自己獲取.
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;i<kim .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)
D. java中怎麼實現階乘,如計算1~100的階乘
使用BigInteger大容量運算類計算100的階乘
一.一般演算法(循環)
view plain 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 plain 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());//輸出長度
}
}
計算結果為:000000000000000000
產度:158
E. java中階乘怎麼表示
java中可以用for循環來實現階層。
代碼如下:
public class Demo {
public static void main(String[] args) {
for(int i=1;i<5;i++){
int sum = 1;//定義一個用來存儲階層的值
for(int j=1;j<=i;j++){//實現階層的循環
sum *= j;
}
System.out.println(i+"的階層是:"+sum);
}
}
}
for循環中的變數從1開始,循環遍歷到階層本身的這個數,通過一個變數來記錄上一個數的乘積即可。