首頁 >web前端 >js教程 >JavaScript 程式計算可被 4 整除的旋轉次數

JavaScript 程式計算可被 4 整除的旋轉次數

WBOY
WBOY轉載
2023-08-25 18:09:02732瀏覽

JavaScript 程序计算可被 4 整除的旋转次数

在本教學中,我們將學習計算給定數字可被 4 整除的旋轉總數。

問題陳述 - 我們給了一個數值。我們需要順時針或逆時針方向旋轉數字,併計算能被 4 整除的旋轉總數。

在這裡,我們將學習兩種不同的方法來計算可被 4 整除的旋轉次數。

旋轉數字並檢查它是否能被 4 整除

在這種方法中,我們首先將數字轉換為字串。我們可以對長度為 n 的字串進行 n 次旋轉。我們將刪除字串的第一個字元並將其添加到字串的最後一個字元。之後,我們可以檢查旋轉產生的新數字是否能被4整除。

文法

使用者可以按照以下語法檢查旋轉是否能被 4 整除並旋轉數字字串。

for ( ) {
   if (parseInt(numStr) % 4 == 0) {
      count++;
   }
   numStr = numStr.substring(1, len) + numStr[0];
}

在上面的語法中,parseInt()方法用於將字串轉換為數字,substring()方法用於旋轉字串。

演算法

  • 第 1 步 - 使用 toString() 方法並將數字轉換為字串。

  • 第 2 步 - 使用 for 迴圈對長度為「n」的字串進行總共「n」次旋轉。

  • 第3步 - 使用parseInt()方法將字串轉換為數字,並檢查該數字是否能被4整除。如果數字能被4整除,則增加該值count 變數減 1。

  • 步驟 4 - 使用 substring() 方法從第一個索引取得子字串。此外,將字串的第一個字元附加到子字串的末尾。這樣,我們就可以旋轉字串並產生一個新的數字。

範例 1

在下面的範例中,我們定義了 countRotations() 函數,該函數實作上述演算法並傳回可被 4 整除的總旋轉次數。在輸出中,使用者可以觀察到該數字的總旋轉次數可被 4 整除4.

<html>
<body>
   <h3> Program to find the total number of rotations divisible by 4 </h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      // JavaScript program to find the total count of rotations divisible by 4
      let countRotations = (number) => {
         let numStr = number.toString();
         let len = numStr.length;
         let count = 0;
         
         // Loop to traverse the string
         for (let i = 0; i < len; i++) {
         
            // Check if the string is divisible by 4
            if (parseInt(numStr) % 4 == 0) {
               count++;
            }
            
            // Rotate the string
            numStr = numStr.substring(1, len) + numStr[0];
         }
         return count;
      }
      let number = 121342435345;
      output.innerHTML = "Total count of rotations divisible by 4 of " + number + " is " + countRotations(number);
   </script>
</body>
</html>

檢查每對 2 位數是否能被 4 整除

如果任何數字的最後 2 位數字可以被 4 整除,我們可以說該數字可以被 4 整除。在旋轉數字時,每對兩位數字都出現在數字的末尾。因此,我們可以檢查任兩個數字對是否能被 4 整除;我們可以說與該對相關的一次旋轉可以被 4 整除。

文法

使用者可以按照下面的語法從數字中提取一對兩位數,並檢查它是否能被 4 整除。

let lastDigit = num % 10;
num = Math.floor(num / 10);
let secondLastDigit = num % 10;
if ((secondLastDigit * 10 + lastDigit) % 4 == 0) {
   count++;
}

在上面的語法中,我們從數字中取得最後一個和倒數第二個數字。之後,我們使用兩者創建一個兩位數,並檢查它是否能被 4 整除。如果是,我們增加 count 變數的值。

演算法

  • 步驟 1 - 如果數字是個位數,檢查它是否能被 4 整除。如果是,則傳回 1;否則傳回 1。否則返回0。

  • 第 2 步 - 如果數字包含兩個或更多數字,則將「count」變數初始化為 0。

  • 第 3 步 - 現在,我們需要使用數字的最後一位數字和第一位數字來建立一對。使用模運算子取得最後一位數字,使用 Math.log() 方法取得第一個數字。

  • 步驟 4 - 將最後一位數字乘以 10,再將第一位數字乘以 10。然後檢查結果是否能被4整除。如果能被4整除,則將計數值加1。

  • 步驟 5 - 使用 while 迴圈檢查其他兩個數字對。在 while 迴圈中,使用模運算子取得最後一個和倒數第二個數字。使用兩個數字創建一對,並檢查該對是否能被 2 整除。如果是,則將計數值增加 1。

範例 2

在此範例中,countRotations() 函數計算可被 4 整除的兩位數字對的數量。它實現了上述演算法,並在所有操作完成後返回計數值。

<html>
<body>
   <h3> Program to find the total number of rotations divisible by 4 </h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      function countRotations(number) {
         //If the length of the number is equal to 1, check if the digit is a multiple of 4
         if (number < 10) {
            return number % 4 == 0 ? 1 : 0;
         } else {
            // Initialize count of rotations divisible by 4
            let count = 0;
            let num = number;
            //Check for the last digit and the first digit
            let lastDigit = number % 10;
            // Get the first digit from the number
            let firstDigit = Math.floor(number / Math.pow(10, Math.floor(Math.log10(number))));
            //If the last digit and first digit are divisible by 4, then add 1 to count
            if ((lastDigit * 10 + firstDigit) % 4 == 0) {
               count++;
            }
            while (num > 0) {
               // get last digit of number
               let lastDigit = num % 10;
               // get second last digit of number
               num = Math.floor(num / 10);
               let secondLastDigit = num % 10;
               if ((secondLastDigit * 10 + lastDigit) % 4 == 0) {
                  count++;
               }
            }
            return count;
         }
      }
      let number = 90645232432;
      output.innerHTML = "Total count of rotations divisible by 4 of " + number + " is " + countRotations(number);
   </script>
</body>
</html>

使用者學會了找到能被 4 整除的數字的旋轉總數。我們看到了兩種不同的方法。第一種方法將數字轉換為字串,旋轉字串,再次將字串轉換為數字,並檢查新產生的旋轉是否能被 4 整除。

第二種方法計算可被 4 整除的兩位數字對的總數。

以上是JavaScript 程式計算可被 4 整除的旋轉次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除