求n的階乘java
㈠ 用java程序寫一個用遞歸和非遞歸方法求n的階乘
public class Fac {
public static void main(String[] args) {
int n = 5;
long fac = digui(n);
long fac2 = nonDigui(n);
}
//循環方法
private static long nonDigui(int n) {
long fac = 1L;
for(int i = 1; i<=n ;i++){
fac = fac * i;
}
return fac;
}
//遞歸
private static long digui(int n) {
if(n == 1){
return 1;
}
return n * digui(n-1);
}
}
㈡ java語言求n的階乘
staticlongcalcFactorial(intn){
if(n==1){
return1;
}else{
returnn*calcFactorial(n-1);
}
}
㈢ java計算n的階乘
int n=8;
int p=n;
for(int i=n;i>1;i--){
p*=i;
}
print("%d\n",p);
㈣ java語言求n的階乘,包括java所有數據類型
/*
byte(位元組) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32767 0
int(整型) 32 -2147483648-2147483647 0
long(長整型) 64 -9233372036854477808-9233372036854477808 0
float(浮點型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(雙精度) 64 ……
舉個int的
*/
public static double jiecheng(int num) {
if (num == 1)
return 1d;
else {
if (num > 1) {
return num * jiecheng(num - 1);
}
return 1d;
}
}
public static void main(String[] args) throws UnsupportedEncodingException {
int start=1;
while(jiecheng(start)<Math.pow(2,32)-1){
start++;
}
System.out.println(start-1);
}
㈤ 請教高手:java編程求n的階乘
public class Myjiecheng {
public static void main(String[] args) {
String s=JOptionPane.showInputDialog("請輸入你要求幾的階乘:");
if(s!=null && s.length()>0){
try{
int n=Integer.parseInt(s);
int sum=1;
for(int i=1;i<=n;i++){
sum=sum*i;
}
JOptionPane.showMessageDialog(null, n+"的階乘是"+sum);
}catch(Exception e){
JOptionPane.showMessageDialog(null, "輸入的不是數字");
}
}
}
㈥ 編寫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;
}
}
㈦ 在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的階乘的方法,並算出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的階乘的公式
ints(intx){
if(x==1)
return1;
else
returns(x-1);
}
㈩ java n的階乘
無語
public class jjjj {
int pp(int n)
{
if(n<2)
return 1*n;
else
return n*pp(n-1);
}
public static void main(String args[])
{
jjjj b=new jjjj();
int d=b.pp(5);
System.out.print(d);
}
}
階乘就是利用遞歸啊。
整個程序的核心就是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本身。