用遞歸演算法求一個數字的階乘的程序如下:
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
『貳』 JAVA中怎麼表示階乘
1、首先在電腦打開eclipse軟體,創建Scanner對象。
『叄』 java輸入一個數n,計算n的階乘(5的階乘=1*2*3*4*5)
1、首先要理解一下階乘的公式:
n!=n*(n-1)*(n-2)*....*2*1,5!=5*4*3*2*1
#include//頭文件stdio.h在新浪博客中無法顯示加上就可以了
intmain()
{
intt=5,i=4;//要是求其他的數的階乘的話,把t的值改為其他數,
//再把i改為(t-1)就行了
while(i>=1)
{
t=t*i;
i--;
}
printf("5的階乘結果是:%d ",t);
return0;
}
2、運行結果如下:
『肆』 怎麼用Java程序計算20的階乘
java程序計算20的階乘,通過使用bigdecimal類來接收數據,如下例子:
publicclassTest{
publicstaticvoidmain(String[]args){
BigDecimalcnt=newBigDecimal(0);
for(inti=1;i<=20;i++){
cnt=cnt.add(jiecheng(i));//循環計算20之內的階乘
}
System.out.println(cnt);
}
(intn){
if(n==1){
returnnewBigDecimal(1);
}
//multiply()相乘
returnjiecheng(n-1).multiply(newBigDecimal(n));
}
}
『伍』 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開始,循環遍歷到階層本身的這個數,通過一個變數來記錄上一個數的乘積即可。
『陸』 java計算n的階乘
int n=8;
int p=n;
for(int i=n;i>1;i--){
p*=i;
}
print("%d\n",p);
『柒』 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
『捌』 Java編程:寫出求n的階乘的方法,並算出1到7的階乘的和
Java編程:寫出求n的階乘的方法,並算出1到7的階乘的和方法:
先編寫求階乘的方法,再通過for循環計算1到7的階乘的和。
具體實現:
publicclassTest{
publicstaticvoidmain(String[]args){
intsum=0;//保存階乘的和
for(inti=1;i<=7;i++)
sum+=factorial(i);
System.out.println(sum);
}
//求階乘方法,傳入一個整數,返回這個整數的階乘
publicstaticintfactorial(intnum){
intresult=1;
for(inti=1;i<=num;i++){
result*=i;
}
returnresult;
}
}
『玖』 用java求階乘
求階乘用for就行,假設我們要對num求階乘,結果是result
int result = 1;
for (int i=1;i<=num;i++){
result *= i;
}
此時result的值即為num的階乘(僅正整數)