<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # C++ 程序:檢查阿姆斯特朗數 > 原文: [https://www.programiz.com/cpp-programming/examples/check-armstrong-number](https://www.programiz.com/cpp-programming/examples/check-armstrong-number) #### 在此示例中,您將學習檢查用戶輸入的號碼是否是阿姆斯特朗數。 要理解此示例,您應該了解以下 [C++ 編程](/cpp-programming "C++ tutorial")主題: * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ `while`和`do...while`循環](/cpp-programming/do-while-loop) * * * 一個正整數稱為阿姆斯特朗數(n 階),如果 ```cpp abcd... = an + bn + cn + dn + ``` 對于 3 位的阿姆斯特朗數,每個數位的立方和等于該數字本身。 例如,153 是阿姆斯特朗數,因為 ```cpp 153 = 1*1*1 + 5*5*5 + 3*3*3 ``` * * * ## 示例:檢查 3 位阿姆斯特朗數 ```cpp #include <iostream> using namespace std; int main() { int num, originalNum, remainder, result = 0; cout << "Enter a three-digit integer: "; cin >> num; originalNum = num; while (originalNum != 0) { // remainder contains the last digit remainder = originalNum % 10; result += remainder * remainder * remainder; // removing last digit from the orignal number originalNum /= 10; } if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; } ``` **輸出** ```cpp Enter a positive integer: 371 371 is an Armstrong number. ``` 在程序中,我們遍歷`while`循環,直到`originalNum`為 0。 在循環的每次迭代中,將`orignalNum`的最后一位數字的立方添加到`result`中。 ```cpp remainder = originalNum % 10; result += remainder * remainder * remainder; ``` 并且,最后一位從`orignalNum`中刪除。 循環結束時,單個數字的立方的總和存儲在`result`中。 * * * ## 示例:檢查 n 位阿姆斯特朗數 ```cpp #include <cmath> #include <iostream> using namespace std; int main() { int num, originalNum, remainder, n = 0, result = 0, power; printf("Enter an integer: "); scanf("%d", &num); originalNum = num; while (originalNum != 0) { originalNum /= 10; ++n; } originalNum = num; while (originalNum != 0) { remainder = originalNum % 10; // pow() returns a double value // round() returns the equivalent int power = round(pow(remainder, n)); result += power; originalNum /= 10; } if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; } ``` **輸出** ```cpp Enter an integer: 1634 1634 is an Armstrong number. ``` 在該程序中,首先計算輸入數字的位數,并將其存儲在`n`中。 并且,`pow()`函數計算`while`循環的每次迭代中各個數字的冪。
                  <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>

                              哎呀哎呀视频在线观看