<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java 程序:查找數字的階乘 > 原文: [https://www.programiz.com/java-programming/examples/factorial](https://www.programiz.com/java-programming/examples/factorial) #### 在此程序中,您將學習使用 Java 中的`for`和`while`循環查找數字的階乘。 正數`n`的階乘由下式給出: ```java factorial of n (n!) = 1 * 2 * 3 * 4 * ... * n ``` ## 示例 1:使用`for`循環查找數字的階乘 ```java public class Factorial { public static void main(String[] args) { int num = 10; long factorial = 1; for(int i = 1; i <= num; ++i) { // factorial = factorial * i; factorial *= i; } System.out.printf("Factorial of %d = %d", num, factorial); } } ``` 運行該程序時,輸出為: ```java Factorial of 10 = 3628800 ``` 在此程序中,我們使用循環來循環遍歷 1 至給定數字`num`(10)之間的所有數字,并將每個數字的乘積存儲在變量`factorial`,直到`i <= num`。 我們使用了`long`而不是`int`來存儲較大的階乘結果。 但是,它仍然不足以存儲較大數字(例如 100)的值。 對于不能存儲在長變量中的結果,我們使用在`java.math`庫中聲明的`BigInteger`變量。 ## 示例 2:使用`BigInteger`查找數字的階乘 ```java import java.math.BigInteger; public class Factorial { public static void main(String[] args) { int num = 30; BigInteger factorial = BigInteger.ONE; for(int i = 1; i <= num; ++i) { // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(i)); } System.out.printf("Factorial of %d = %d", num, factorial); } } ``` 運行該程序時,輸出為: ```java Factorial of 30 = 265252859812191058636308480000000 ``` 在這里,我們使用`BigInteger`變量階乘代替`long`。 由于`*`不能與`BigInteger`一起使用,因此我們將`multiply()`用于產品。 同樣,應將`number`強制轉換為`BigInteger`以進行乘法。 * * * 同樣,我們也可以使用`while`循環來解決此問題。 ## 示例 3:使用`while`循環查找數字的階乘 ```java public class Factorial { public static void main(String[] args) { int num = 5, i = 1; long factorial = 1; while(i <= num) { factorial *= i; i++; } System.out.printf("Factorial of %d = %d", num, factorial); } } ``` 運行該程序時,輸出為: ```java Factorial of 5 = 120 ``` 在上面的程序中,與`for`循環不同,我們必須在循環體內增加`i`的值。 盡管兩個程序在技術上都是正確的,但在這種情況下最好使用`for`循環。 這是因為迭代次數(最多`num`)是已知的。 訪問此頁面以學習*使用遞歸*查找數字的階乘。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看