Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript-Programm zur Berechnung der Anzahl der durch 8 teilbaren Umdrehungen

PHPz
Freigeben: 2023-09-03 10:05:08
nach vorne
1308 Leute haben es durchsucht

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

Problemstellung - Uns wird eine Nummer gegeben. Wir müssen diese Zahl drehen und die Gesamtzahl der Drehungen ermitteln, die durch 8 teilbar ist.

Hier lernen wir zwei verschiedene Methoden kennen, um die Anzahl der Drehungen zu berechnen, die durch 8 teilbar sind.

Drehen Sie die Zahl und prüfen Sie, ob die Drehung durch 8 teilbar ist

Die erste Methode besteht darin, die Zahlen zu drehen und jede mögliche Drehung einzeln zu erhalten. Überprüfen Sie außerdem, ob die Drehung durch 8 teilbar ist. Wenn ja, addieren Sie 1 zur Zählung.

Grammatik

Benutzer können der folgenden Syntax folgen, um die Anzahl der Drehungen zu berechnen, die durch rotierende Zahlen durch 8 teilbar sind.

for ( ) {
   str = lastDigit + str.substring(0, str.length - 1);
   let num = parseInt(str);
   if (num % 8 == 0) {
      count++;
   }
}
Nach dem Login kopieren

In der obigen Syntax erhalten wir die letzte Ziffer der Zahlenzeichenfolge und hängen sie an den Anfang der Zeichenfolge an, um die Zahl zu drehen.

Algorithmus

  • Schritt 1 – Initialisieren Sie die Zählvariable auf 0, was bedeutet, dass die anfängliche Zählung Null ist.

  • Schritt 2 – Verwenden Sie eine for-Schleife, um die Zahlenzeichenfolge zu durchlaufen und die Gesamtdrehung der Länge der Zahlenzeichenfolge anzupassen.

  • Schritt 3 – Holen Sie sich in der for-Schleife die letzte Ziffer der Zahlenzeichenfolge. Rufen Sie außerdem die Teilzeichenfolge ab, die die ersten n-1 Ziffern enthält.

  • Schritt 4 – Hängen Sie die letzte Zahl am Anfang der Teilzeichenfolge an, um die Zahlenzeichenfolge zu drehen.

  • Schritt 5 – Extrahieren Sie Zahlen aus einer Zeichenfolge mit der Methode parseInt().

  • Schritt 6 – Prüfen Sie, ob die Drehung durch 8 teilbar ist. Wenn ja, erhöhen Sie die Anzahl um 1.

  • Schritt 7 – Sobald wir alle Drehungen mithilfe einer for-Schleife überprüft haben, geben wir den Zählwert zurück.

Beispiel 1

Im folgenden Beispiel akzeptiert die Funktion rotationsDivisibleBy8() eine Zahl als Argument und gibt die Gesamtzahl der durch 8 teilbaren Drehungen zurück. Zusätzlich wandeln wir die Zahl zunächst mit der Methode toString() in einen String um und implementieren dann den obigen Algorithmus, um die Anzahl der durch 8 teilbaren Umdrehungen zu berechnen.

<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>
Nach dem Login kopieren

Überprüfen Sie, ob eine dreistellige Zahl durch 8 teilbar ist

Wenn die letzten drei Ziffern einer Zahl durch 8 teilbar sind, können wir sagen, dass die ganze Zahl durch 8 teilbar ist. Hier können wir also ein Paar aus drei aufeinanderfolgenden Zahlen nehmen und prüfen, ob das Paar durch 8 teilbar ist. Wenn dies der Fall ist, bedeutet dies, dass die Rotation, die diese dreistellige Zahl am Ende enthält, durch 8 teilbar ist.

Grammatik

Benutzer können der folgenden Syntax folgen, um die Anzahl der Drehungen zu berechnen, die durch 8 teilbar sind.

for ( ) {
   let pairOf3 = numStr.substring(i, i + 3);
   if (pairOf3 % 8 == 0) {
      count++;
   }
}
Nach dem Login kopieren

In der obigen Syntax haben wir die Methode substring() verwendet, um das dreistellige Paar zu erhalten.

Algorithmus

  • Schritt 1 – Konvertieren Sie die Zahl mit der toString()-Methode in eine Zeichenfolge.

  • Schritt 2 – Wenn die Länge der Zahl gleich 1 ist, geben Sie 1 zurück, wenn die Zahl durch 8 teilbar ist, andernfalls geben Sie 0 zurück.

  • Schritt 3 – Wenn die Länge der Zahl gleich 2 ist, prüfen Sie die Anzahl der Drehungen, die durch 8 teilbar sind, aus den möglichen Drehungen und der Anzahl der Rückschläge.

  • Schritt 4 – Verwenden Sie für Zahlen mit mehr als drei Ziffern die Methode substring() und extrahieren Sie das Paar aufeinanderfolgender drei Ziffern. Überprüfen Sie anschließend, ob das Paar durch 8 teilbar ist, und erhöhen Sie den Zählwert.

  • Schritt 5 – Suchen Sie außerdem nach Paaren, die die letzten beiden Ziffern und die erste Ziffer, die letzte Ziffer und die ersten beiden Ziffern enthalten, und erhöhen Sie den Wert von Count entsprechend.

Beispiel 2

Im folgenden Beispiel verwenden wir die for-Schleife und die Methode substring(), um n-2 Paare dreistelliger Zahlen zu erhalten und zu prüfen, ob sie durch 8 teilbar sind. In der Ausgabe kann der Benutzer beobachten, dass die angegebene Zahl insgesamt 5 Drehungen enthält, die durch 8 teilbar sind.

<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>
Nach dem Login kopieren

Der Benutzer hat zwei verschiedene Methoden kennengelernt, um die Gesamtzahl der durch 8 teilbaren Drehungen zu berechnen. Bei der ersten Methode nehmen wir alle möglichen Drehungen und prüfen, ob sie durch 8 teilbar sind. Bei der zweiten Methode nutzen wir die Eigenschaften einer Zahl, die sie durch 8 teilbar machen, also die letzten drei Ziffern einer Zahl, die durch 8 teilbar sind.

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zur Berechnung der Anzahl der durch 8 teilbaren Umdrehungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage