阿偉 發問時間: 電腦與網際網路程式設計 · 1 0 年前

java 階乘運算

我的程式碼如下:

import java.util.*;

public class S

{

public static void main(String argv[])

{

Scanner cin=new Scanner(System.in);

while(cin.hasNext())

{

long i=cin.nextLong();

if(i==0)

System.out.println("1");

else

System.out.println(factorial(i));

}

}

public static long factorial(long ii)

{ long res=1;

if ( ii!=1)

res= ii* factorial(ii-1);

return res;

}

}

有誰可以詳細講解下列這個部份的流程

long res=1;

if ( ii!=1)

res= ii* factorial(ii-1);

return res;

給20點

1 個解答

評分
  • 1 0 年前
    最佳解答

    long res=1;//有一個長整數res=1

    if ( ii!=1)//如果傳進來不是1,如果是3好了

    res= ii* factorial(ii-1); //res=3* factorial(2)

    =3* 2 * factorial(1)

    =3 * 2 * 1

    return res;

    //factorial(2)=2

    //factorial(1)=1

    參考資料: 請參考遞迴
還有問題?馬上發問,尋求解答。