Program JavaScript untuk mengira bilangan putaran dibahagikan dengan 4

WBOY
Lepaskan: 2023-08-25 18:09:02
ke hadapan
689 orang telah melayarinya

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

Dalam tutorial ini kita akan belajar mengira jumlah bilangan putaran nombor tertentu yang boleh dibahagi dengan 4.

Pernyataan Masalah - Kami diberi nilai berangka. Kita perlu memutarkan nombor mengikut arah jam atau lawan jam dan mengira jumlah bilangan putaran yang boleh dibahagi dengan 4.

Di sini kita akan mempelajari dua cara berbeza untuk mengira bilangan putaran dibahagikan dengan 4.

Putar nombor dan semak sama ada boleh bahagi dengan 4

Dalam kaedah ini, kita mula-mula menukar nombor kepada rentetan. Kita boleh melakukan n putaran pada rentetan panjang n. Kami akan mengalih keluar aksara pertama rentetan dan menambahnya pada aksara terakhir rentetan. Selepas itu, kita boleh menyemak sama ada nombor baharu yang dijana oleh putaran boleh dibahagikan dengan 4.

Tatabahasa

Pengguna boleh mengikut sintaks berikut untuk menyemak sama ada putaran boleh dibahagikan dengan 4 dan memutar rentetan angka.

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

Dalam sintaks di atas, kaedah parseInt() digunakan untuk menukar rentetan kepada nombor, dan kaedah subrentetan() digunakan untuk memutar rentetan.

Algoritma

  • Langkah 1 - Gunakan kaedah toString() dan tukar nombor kepada rentetan.

  • Langkah 2 - Gunakan gelung for untuk melakukan jumlah putaran "n" pada rentetan panjang "n".

  • Langkah 3 - Tukar rentetan kepada nombor menggunakan kaedah parseInt() dan semak sama ada nombor itu boleh dibahagi dengan 4. Jika nombor boleh dibahagi dengan 4, pembolehubah kiraan dinaikkan dan dikurangkan dengan 1.

  • Langkah 4 - Dapatkan subrentetan daripada indeks pertama menggunakan kaedah substring(). Selain itu, aksara pertama rentetan dilampirkan pada penghujung subrentetan. Dengan cara ini, kita boleh memutar rentetan dan menjana nombor baharu.

Contoh 1

Dalam contoh di bawah, kami mentakrifkan fungsi countRotations(), yang melaksanakan algoritma di atas dan mengembalikan jumlah bilangan putaran yang boleh dibahagikan dengan 4. Dalam output, pengguna dapat melihat bahawa jumlah putaran untuk nombor ini boleh dibahagi dengan 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>
Salin selepas log masuk

Periksa sama ada setiap pasangan nombor 2 digit boleh dibahagi dengan 4

Jika 2 digit terakhir mana-mana nombor boleh dibahagi dengan 4, kita boleh katakan nombor itu boleh dibahagi dengan 4. Semasa memutar nombor, setiap pasangan dua digit muncul di hujung nombor. Oleh itu, kita boleh menyemak sama ada mana-mana pasangan dua nombor boleh dibahagikan dengan 4; kita boleh mengatakan bahawa satu putaran yang dikaitkan dengan pasangan itu boleh dibahagikan dengan 4.

Tatabahasa

Pengguna boleh mengikut sintaks di bawah untuk mengekstrak sepasang nombor dua digit daripada nombor dan menyemak sama ada ia boleh dibahagi dengan 4.

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

Dalam sintaks di atas, kita mendapat digit terakhir dan kedua dari nombor tersebut. Selepas itu, kami mencipta nombor dua digit menggunakan kedua-duanya dan semak sama ada ia boleh dibahagikan dengan 4. Jika ya, kami menambah pembolehubah kiraan.

Algoritma

  • Langkah 1 - Jika nombor itu adalah satu digit, semak sama ada ia boleh dibahagi dengan 4. Mengembalikan 1 jika ya; sebaliknya mengembalikan 1. Jika tidak, kembalikan 0.

  • Langkah 2 - Jika nombor mengandungi dua atau lebih digit, mulakan pembolehubah "kira" kepada 0.

  • Langkah 3 - Sekarang, kita perlu mencipta pasangan menggunakan digit terakhir dan digit pertama nombor itu. Gunakan operator modulo untuk mendapatkan digit terakhir dan kaedah Math.log() untuk mendapatkan digit pertama.

  • Langkah 4 - Darab digit terakhir dengan 10 dan kemudian darab digit pertama dengan 10. Kemudian semak sama ada keputusan boleh dibahagikan dengan 4. Jika ia boleh dibahagi dengan 4, tambah 1 pada kiraan.

  • Langkah 5 - Gunakan gelung sementara untuk menyemak dua pasangan nombor yang lain. Dalam gelung sementara, gunakan operator modulo untuk mendapatkan nombor terakhir dan kedua-ke-terakhir. Buat pasangan menggunakan dua nombor dan semak sama ada pasangan itu boleh dibahagi dengan 2. Jika ya, tambahkan kiraan sebanyak 1.

Contoh 2

Dalam contoh ini, fungsi countRotations() mengira bilangan pasangan dua digit yang boleh dibahagi dengan 4. Ia melaksanakan algoritma di atas dan mengembalikan nilai kiraan selepas semua operasi selesai.

<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>
Salin selepas log masuk

Pengguna belajar mencari jumlah putaran untuk nombor yang boleh dibahagi dengan 4. Kami melihat dua pendekatan yang berbeza. Kaedah pertama menukar nombor kepada rentetan, memutar rentetan, menukar rentetan kepada nombor sekali lagi dan menyemak sama ada putaran yang baru dijana boleh dibahagikan dengan 4.

Kaedah kedua mengira jumlah bilangan pasangan dua digit yang boleh dibahagi dengan 4.

Atas ialah kandungan terperinci Program JavaScript untuk mengira bilangan putaran dibahagikan dengan 4. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!