Pernyataan Masalah - Kami diberi nombor. Kita perlu memutarkan nombor ini dan perlu mencari jumlah bilangan putaran yang boleh dibahagikan dengan 8.
Di sini kita akan mempelajari dua cara berbeza untuk mengira bilangan putaran boleh dibahagikan dengan 8.
Kaedah pertama ialah memutar nombor dan dapatkan setiap putaran yang mungkin satu demi satu. Juga, semak sama ada putaran boleh dibahagikan dengan 8. Jika ya, tambah 1 pada kiraan.
Pengguna boleh mengikut sintaks di bawah untuk mengira bilangan putaran dibahagikan dengan 8 dengan nombor berputar.
for ( ) { str = lastDigit + str.substring(0, str.length - 1); let num = parseInt(str); if (num % 8 == 0) { count++; } }
Dalam sintaks di atas, kita mendapat digit terakhir rentetan nombor dan menambahkannya pada permulaan rentetan untuk memutar nombor.
Langkah 1 - Mulakan pembolehubah kiraan kepada 0, bermakna kiraan awal ialah sifar.
Langkah 2 - Gunakan gelung for untuk mengulangi rentetan nombor dan jadikan jumlah putaran sama dengan panjang rentetan nombor.
Langkah 3 - Dalam gelung for, dapatkan digit terakhir rentetan nombor. Selain itu, dapatkan subrentetan yang mengandungi digit n-1 pertama.
Langkah 4 - Tambahkan nombor terakhir pada permulaan subrentetan untuk memutar rentetan nombor.
Langkah 5 - Ekstrak nombor daripada rentetan menggunakan kaedah parseInt().
Langkah 6 - Periksa sama ada putaran boleh dibahagi dengan 8. Jika ya, tambahkan kiraan sebanyak 1.
Langkah 7 - Setelah kita menyemak semua putaran menggunakan gelung for, kembalikan nilai kiraan.
Dalam contoh di bawah, fungsi rotationsDivisibleBy8() menerima nombor sebagai hujah dan mengembalikan jumlah bilangan putaran yang boleh dibahagikan dengan 8. Selain itu, kami mula-mula menukar nombor kepada rentetan menggunakan kaedah toString() dan kemudian melaksanakan algoritma di atas untuk mengira bilangan putaran boleh dibahagikan dengan 8.
<html> <body> <h3> Program to find the total number of rotations divisible by 8 </h3> <div id = "output"> </div> <script> let output = document.getElementById('output'); const rotationsDivisibleBy8 = (number) => { let count = 0; //Count rotations divisible by 8 by rotating numbers let str = number.toString(); for (let i = 0; i < str.length; i++) { //Get the last character of the string let lastDigit = str[str.length - 1]; // rotating number str = lastDigit + str.substring(0, str.length - 1); // convert string to integer let num = parseInt(str); //Check if num is divisible by 8 if (num % 8 == 0) { count++; } } return count; } let number = 90645232432; output.innerHTML = "Total count of rotations divisible by 8 of " + number + " is " + rotationsDivisibleBy8(number); </script> </body> </html>
Jika tiga digit terakhir mana-mana nombor boleh dibahagi dengan 8, kita boleh mengatakan bahawa nombor keseluruhan boleh dibahagi dengan 8. Jadi, di sini kita boleh mengambil sepasang tiga nombor berturut-turut dan menyemak sama ada pasangan itu boleh dibahagi dengan 8. Jika ya, ini bermakna putaran yang mengandungi nombor tiga digit pada penghujungnya boleh dibahagi dengan 8.
Pengguna boleh mengikut sintaks di bawah untuk mengira bilangan putaran dibahagikan dengan 8.
for ( ) { let pairOf3 = numStr.substring(i, i + 3); if (pairOf3 % 8 == 0) { count++; } }
Dalam sintaks di atas, kami menggunakan kaedah subrentetan() untuk mendapatkan pasangan tiga digit.
Langkah 1 - Tukar nombor kepada rentetan menggunakan kaedah toString().
Langkah 2 - Jika panjang nombor itu sama dengan 1, kembalikan 1 jika nombor itu boleh dibahagi dengan 8 jika tidak, kembalikan 0.
Langkah 3 - Jika panjang nombor itu bersamaan dengan 2, semak bilangan putaran boleh dibahagikan dengan 8 daripada kemungkinan putaran dan kiraan pulangan.
Langkah 4 - Untuk nombor dengan lebih daripada 3 digit, gunakan kaedah substring() dan ekstrak pasangan tiga digit berturut-turut. Selepas itu, periksa sama ada pasangan boleh dibahagikan dengan 8 dan naikkan nilai kiraan.
Langkah 5 - Juga, semak pasangan yang mengandungi dua digit terakhir dan digit pertama, digit terakhir dan dua digit pertama, dan naikkan nilai Kiraan dengan sewajarnya. p>
Dalam contoh di bawah, kami menggunakan kaedah gelung dan subrentetan() untuk mendapatkan pasangan n-2 nombor tiga digit dan semak sama ada ia boleh dibahagi dengan 8. Dalam output, pengguna dapat melihat bahawa nombor yang diberikan mengandungi sejumlah 5 putaran yang boleh dibahagikan dengan 8.
<html> <body> <h3> Program to find the total number of rotations divisible by 8 </h3> <div id = "output"> </div> <script> let output = document.getElementById('output'); const rotationsDivisibleBy8 = (number) => { let count = 0; let numStr = number.toString(); let n = numStr.length; if (n == 1) { // for 1 digit return number % 8 == 0 ? 1 : 0; } else if (n == 2) { // for 2 digits if (number % 8 == 0) { count++; } let temp = numStr.substring(1, 2) + numStr.substring(0, 1); if (temp % 8 == 0) { count++; } return count; } else { // for 3 digits for (let i = 0; i < n - 2; i++) { let pairOf3 = numStr.substring(i, i + 3); if (pairOf3 % 8 == 0) { count++; } } // for last two and first digit let lastTwo = numStr.substring(n - 2, n); let firstDigit = numStr.substring(0, 1); let lastTwoFirstDigit = lastTwo + firstDigit; if (lastTwoFirstDigit % 8 == 0) { count++; } // for last digit and first two digits let lastDigit = numStr.substring(n - 1, n); let firstTwo = numStr.substring(0, 2); let lastDigitFirstTwo = lastDigit + firstTwo; if (lastDigitFirstTwo % 8 == 0) { count++; } return count; } } let number = 104104104104104; output.innerHTML = "Total count of rotations divisible by 8 of " + number + " is " + rotationsDivisibleBy8(number); </script> </body> </html>
Pengguna mempelajari dua cara berbeza untuk mengira jumlah pusingan boleh dibahagikan dengan 8. Dalam kaedah pertama, kami mengambil semua putaran yang mungkin dan semak sama ada ia boleh dibahagikan dengan 8. Dalam kaedah kedua, kami menggunakan sifat nombor yang menjadikannya boleh dibahagi dengan 8, iaitu tiga digit terakhir nombor yang boleh dibahagi dengan 8.
Atas ialah kandungan terperinci Program JavaScript untuk mengira bilangan putaran dibahagikan dengan 8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!