導航:首頁 > 編程語言 > 用java計算n的階乘

用java計算n的階乘

發布時間:2023-06-03 22:12:06

『壹』 在java中,用遞歸方法計算n的階乘。

用Java求鍵盤輸入的數的階乘n。(遞歸演算法)packagejiecheng; importjava.util.*; //導入java.util包中的所有類classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;

elsi=n*rep(n-1) returni; } } publicclassJie{ publicstaticvoidmain(String[]args){ intn; //此處定義要輸入的數Scanners= newScanner(System.in); //以下三行用於n的值得輸入System.out.print( "請輸入一個整數:"); n=s.nextInt(); repf= newrep(); System.out.println(n+"!="+f.rep(n)); } }

『貳』 java輸入一個數n,計算n的階乘(5的階乘=1*2*3*4*5)

import java.util.Scanner;

public class Test2 {
public static void main(String[] args) {
System.out.println("請輸入你需要計算的物簡數字:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int d = pp(i);
System.out.print(d);

}

public static int pp(int n) {
if (n < 2)
return 1 * n;
else
return n * pp(n - 1);
}

}
int pp(int n)
{
if(n<2)
return 1*n;
else
return n*pp(n-1);
}
這一好銷段, 如果n大於2,返回n*pp(n-1)的意思,就是,任何一個N的階乘等於n*比n小1的數的階乘,打個比方,比如5的階乘等於5*(4的階乘),4的階乘等罩襪褲於4*(3的階乘),而1的階乘,等於1本身。

『叄』 JAVA 求N的階乘

//輸入
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();

//單獨寫個遞歸的方法就可以了。
int f(int i){
if i <= 1 return 1; // 結束內條件
else return i * f(i-1); // 壓棧,繼續調容用本方法
}

『肆』 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求n的階乘,用數組做

importjava.util.Scanner;
publicclassTest{
publicstaticvoidprintArr(int[]arr){
for(inti=0;i<arr.length;i++)
System.out.print(arr[i]);
}
publicstaticvoidprintArrRev(int[]arr){
for(inti=arr.length-1;i>=0;i--)
System.out.print(arr[i]);
}
publicstaticint[]shift(int[]arr,intnum){
int[]result=newint[arr.length+num];
for(inti=0;i<arr.length;i++){
result[i+num]=arr[i];
}
returnresult;
}
publicstaticintgetDigit(intnum){
intresult=0;
intnumber=num;
while(number!=0){
number=number/10;
result++;
}
returnresult;
}
// publicstaticint[]isopsephy(int[]arr){
// intiso_number=0;
// int[]result;
// for(inti=arr.length-1;i>=0;i--){
// iso_number=(arr[i]+iso_number)/10;
// }
// intdigit=getDigit(iso_number);
// result=newint[arr.length+digit];
// for(inti=digit-1;i>=0;i--){
// result[i]=iso_number%10;
// iso_number=iso_number/10;
// }
// iso_number=0;
// for(inti=arr.length-1;i>=0;i--){
// result[i+digit]=(arr[i]+iso_number)%10;
// iso_number=(arr[i]+iso_number)/10;
// }
// returnresult;
// }
// publicstaticint[]isopsephy(intarr){
// inttemp=arr;
// int[]result;
// intdigit=getDigit(arr);
// result=newint[digit];
// for(inti=digit-1;i>=0;i--){
// result[i]=temp%10;
// temp=temp/10;
// }
// returnresult;
// }

publicstaticint[]isopsephy(int[]arr){
intiso_number=0;
int[]result;
for(inti=0;i<arr.length;i++){
iso_number=(arr[i]+iso_number)/10;
}
intdigit=getDigit(iso_number);
result=newint[arr.length+digit];
for(inti=0;i<digit;i++){
result[i+arr.length]=iso_number%10;
iso_number=iso_number/10;
}
iso_number=0;
for(inti=0;i<arr.length;i++){
result[i]=(arr[i]+iso_number)%10;
iso_number=(arr[i]+iso_number)/10;
}
returnresult;
}
publicstaticint[]isopsephy(intarr){
inttemp=arr;
int[]result;
intdigit=getDigit(arr);
result=newint[digit];
for(inti=0;i<digit;i++){
result[i]=temp%10;
temp=temp/10;
}
returnresult;
}

publicstaticint[]add(int[]arr,int[]addnum){
int[]arr_short=isopsephy(arr);
int[]arr_long=isopsephy(addnum);
if(arr_short.length>arr_long.length){
int[]temp;
temp=arr_short;
arr_short=arr_long;
arr_long=temp;
}
for(inti=0;i<arr_short.length;i++){
arr_long[i]+=arr_short[i];
}
returnisopsephy(arr_long);
}
publicstaticint[]multi(int[]arr,intmultiplier){
int[]result=newint[arr.length];
for(inti=0;i<arr.length;i++){
result[i]=arr[i]*multiplier;
}
returnisopsephy(result);
}
publicstaticint[]getMult(int[]arr,int[]multipliers){
int[]result=newint[arr.length];
int[]first=isopsephy(arr);
int[]second=isopsephy(multipliers);
for(inti=0;i<second.length;i++){
result=add(result,shift(multi(first,second[i]),i));
result=isopsephy(result);
}
returnresult;
}
publicstaticvoidmain(String[]args){
Scannersca=newScanner(System.in);
System.out.println("Pleaseinputn:");
intn=sca.nextInt();
int[]result=isopsephy(n);
for(inti=n-1;i>0;i--){
result=getMult(result,isopsephy(i));
}
printArrRev(result);
}
}

一開始寫成數組從高位到低位了,注釋掉了。

『陸』 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//頭文件.h在新浪博客中無法顯示加上就可以了

intmain()

{

intt=5,i=4;//要是求其他的數的階乘的話,把t的值改為其他數,

//再把i改為(t-1)就行了

while(i>=1)

{

t=t*i;

i--;

}

printf("5的階乘結果是:%d ",t);

return0;

}

2、運行結果如下:

『柒』 用java編寫n的階乘要求是int foo(int+x)

按照你的要求編寫的n的階乘的Java程序如下

public class Factorial{

public int foo(int x){

if(x==0 || x==1){

return 1;

}else{

return x*foo(x-1);

}

}

public static void main(String[] args){

int n=6;

Factorial f=new Factorial();

System.out.println(f.foo(n));

}

}

『捌』 java計算n的階乘

int n=8;
int p=n;
for(int i=n;i>1;i--){
p*=i;
}
print("%d\n",p);

閱讀全文

與用java計算n的階乘相關的資料

熱點內容
家庭網路如何交費 瀏覽:607
win10如何打開win7系統共享文件夾 瀏覽:512
windowsmysql配置文件路徑 瀏覽:222
如何進行網路反偵察 瀏覽:168
電腦查找電腦里整年文件 瀏覽:97
極限摩托1中文安卓 瀏覽:670
好券app怎麼取消授權 瀏覽:173
微信文章回答度過大學 瀏覽:288
哪個家裝網站比較好 瀏覽:682
管理制度文件格式 瀏覽:857
apk加網路授權 瀏覽:717
刷屏編程代碼怎麼暫停 瀏覽:72
電腦編程專業在哪裡 瀏覽:13
怎麼將折線圖的數據立起來 瀏覽:525
win10系統備份文件大 瀏覽:747
cad線稿能導入什麼文件 瀏覽:553
我的世界老版本011 瀏覽:954
w10下裝w7雙系統教程 瀏覽:659
iphone5升級到ios9卡嗎 瀏覽:525
cad智能列印選不中文件 瀏覽:381

友情鏈接