Inhaltsverzeichnis
Algorithmus
Beispiel
Ausgabe
Fazit
Heim Backend-Entwicklung C++ Zählen Sie die Anzahl der Elemente im Array. Die Anzahl der Einsen in seiner binären Darstellung ist ein Vielfaches von K

Zählen Sie die Anzahl der Elemente im Array. Die Anzahl der Einsen in seiner binären Darstellung ist ein Vielfaches von K

Sep 19, 2023 pm 10:09 PM
二进制表示 Anzahl der Elemente Anzahl von

Die gesetzten Bits sind die binäre Darstellung von 0 und 1. Diese Nummer 1 wird in einem Computer als Setzbit bezeichnet. Nehmen wir ein Beispiel, um die Berechnung gesetzter Bits zu verstehen -

Nehmen wir ein Beispiel, um die Setbit-Berechnung zu verstehen -

Das gesetzte Bit der Ganzzahl 96 wird berechnet als

Zählen Sie die Anzahl der Elemente im Array. Die Anzahl der Einsen in seiner binären Darstellung ist ein Vielfaches von K

Angenommen, wir möchten die Bits auf die Summe 96 setzen. Gemäß der obigen Darstellung setzen wir also Bit 1 auf diese Array-Elemente und ihre Summe beträgt 96. Auf diese Weise bilden wir zwei Gruppen von Bits. Wenn wir also den K-Wert auf 2 setzen, sind die Einstellungsbits von 96 ein Vielfaches davon.

In diesem Programm lösen wir das Problem der Array-Elementzählung, bei dem die Anzahl der gesetzten Bits ein Vielfaches von K ist.

Algorithmus

  • Wir werden eine Header-Datei mit dem Namen ‘bits/stdc++.h‘ verwenden, um das Programm zu starten, das alle Standardvorlagenbibliotheken von C++ enthält.

  • Wir erstellen eine Funktionsdefinition namens ‘find_bitcount‘, die drei Parameter akzeptiert, arr, n und k, und wie folgt definiert ist: −

    arr[] − Holen Sie sich die Array-Eingabe von der Hauptfunktion des Arrays.

    n − Länge des Arrays

    k – Überprüft die Teilbarkeit der Bitanzahl mit der Einstellung.

    Dadurch wird die Gesamtzahl der gesetzten Bits in den Array-Elementen gezählt.

  • Wir speichern dann ‘0‘ in der Variablen ‘ans‘, die die Anzahl der Zahlen verfolgt, die die Bedingung erfüllen.

  • Wir starten die for-Schleife, um jedes Element zu iterieren und das Array-Element, d. h. 'arr[i]', in der Variablen 'x' zu speichern, die die Bedingung in der folgenden while-Schleife erfüllt, um die Zählbedingungen für die gesamten Biteinstellungen zu überprüfen . Auf diese Weise initialisiert die Funktion ‘x’ auf den Wert des Array-Elements.

  • Dann wird die Variable ‘setBitsCount‘ auf ‘0‘ initialisiert, wodurch die gesetzten Bits des aktuellen Array-Elements verfolgt werden.

  • Als nächstes erstellen wir eine While-Schleife, um zu prüfen, ob x (das in x gespeicherte Array-Element) größer als 0 ist, und führen Folgendes aus:

    • setBitsCount += x & 1 − Verwenden Sie den bitweisen AND-Operator in einer Schleife und 1, um zu bestimmen, ob das niedrigstwertige Bit von x 1 ist.

    • x = x >> 1 − Wenn das Ergebnis 1 ist, erhöhen Sie die eingestellte Anzahl der Ziffern um 1. Verwenden Sie dann den Operator >> in der Schleife, um x 1 Bit nach rechts zu verschieben, um das niedrigstwertige Bit zu eliminieren.

  • Nun verwenden Sie die if-Anweisung, um zu prüfen, ob „setBitsCount“ durch „k“ teilbar ist, verwenden Sie den Operator „%“ und ist gleich „0“, dann erfüllt das aktuelle Array-Element die Bedingung und erhöht die Variable „ans“. um '1'.

  • Nach der Verarbeitung aller oben genannten Bedingungen gibt die Funktion den Wert von ‘ans‘ zurück, der die Gesamtzahl der Ziffern der Array-Elemente definiert.

  • Starten Sie die Hauptfunktion und deklarieren Sie alle Array-Elemente. Anschließend initialisieren wir die Variable ‘n‘, um die Größe des Arrays zu ermitteln, und initialisieren die Variable ‘K‘ auf ‘2‘, wodurch überprüft wird, ob das Array-Element ein Vielfaches von K ist.

  • Schließlich rufen wir in der print-Anweisung die Funktionsdefinition mit dem Namen ‘find_bitcount()‘ auf und erhalten das Ergebnis.

Beispiel

In diesem Programm implementieren wir das Zählen eines Array-Elements, dessen gesetztes Bit ein Vielfaches von K ist.

#include <bits/stdc++.h>
#include <bits/stdc++.h>
using namespace std;

// Function to find the count of numbers
int find_bitcount(int arr[], int n, int k) {
   int ans = 0;
   for (int i = 0; i < n; i++) {
      int x = arr[i];
      int setBitsCount = 0;

      // Calculate the set-bits count of the element x
      while (x > 0) {
         setBitsCount += x & 1;
         x = x >> 1;
      }

      // Check if the setbits count
      // is divisible by K
      if (setBitsCount % k == 0)
      ans++;
   }
   return ans;
}
int main() {
   int arr[] = { 6, 845, 4, 168, 7896 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int K = 2;
   cout << "There are "<<find_bitcount(arr, n, K)<<" array element whose setbits are in a multiple of K";
   return 0;
}
Nach dem Login kopieren

Ausgabe

There are 3 array element whose setbits are in a multiple of K
Nach dem Login kopieren

Fazit

Wir haben das Konzept einer Array-Elementanzahl untersucht, bei der die Anzahl der Ziffern ein Vielfaches von K ist. In diesem Programm wird eine Funktion definiert, um die Gesamtzahl der Elemente eines Arrays mit einer festgelegten Anzahl von Bits zu berechnen. Anschließend beobachten wir, wie die festgelegte Anzahl von Bits durch den >>-Operator verschoben wird, und verwenden eine bedingte Anweisung, um zu überprüfen, wie viele Array-Elemente an die festgelegte Anzahl von Bits übergeben wurden. Zum Schluss drucken wir einfach die Ergebnisse aus.

Das obige ist der detaillierte Inhalt vonZählen Sie die Anzahl der Elemente im Array. Die Anzahl der Einsen in seiner binären Darstellung ist ein Vielfaches von K. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

GULC: C -Bibliothek von Grund auf neu gebaut GULC: C -Bibliothek von Grund auf neu gebaut Mar 03, 2025 pm 05:46 PM

GULC ist eine Hochleistungs-C-Bibliothek, die minimale Overheads, aggressive Einbeziehung und Compiler-Optimierung priorisiert. Ideal für leistungskritische Anwendungen wie Hochfrequenzhandel und eingebettete Systeme, sein Design betont die Einfachheit, Modul

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Mar 03, 2025 pm 05:52 PM

In diesem Artikel werden die Funktionstypen zur Rückgabe von Funktionen (int, float, char usw.), abgeleitet (Arrays, Zeiger, Strukturen) und Hohlraumtypen enthält. Der Compiler bestimmt den Rückgabetyp über die Funktionserklärung und die Rückgabeerklärung unter der Durchsetzung

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Mar 03, 2025 pm 05:53 PM

Dieser Artikel erläutert die C -Funktionserklärung im Vergleich zu Definition, Argumentübergabe (nach Wert und Zeiger), Rückgabetwerten und gemeinsamen Fallstricken wie Speicherlecks und Typenfehlanpassungen. Es betont die Bedeutung von Erklärungen für Modularität und Provi

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte Mar 03, 2025 pm 05:53 PM

In diesem Artikel wird die C -Funktion für die String -Fallkonvertierung beschrieben. Es erklärt mit toupper () und tolower () aus ctype.h, iteriert durch Saiten und Handhabung von Null -Terminatoren. Häufige Fallstricke wie das Vergessen von ctype.h und das Modifizieren von String -Literalen sind

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Mar 03, 2025 pm 05:51 PM

Dieser Artikel untersucht die Speicher des C -Funktionsrückgabewerts. Kleine Renditewerte werden in der Regel in Registern für Geschwindigkeit gespeichert. Größere Werte können Zeiger zum Speicher verwenden (Stapel oder Heap), die die Lebensdauer beeinflussen und die manuelle Speicherverwaltung erfordern. Direkt ACC

eindeutiger Gebrauch und Phrasenfreigabe eindeutiger Gebrauch und Phrasenfreigabe Mar 03, 2025 pm 05:51 PM

Dieser Artikel analysiert die vielfältigen Verwendungen des Adjektivs "Unterscheidet", die seine grammatikalischen Funktionen, gemeinsame Phrasen (z. B. "unterscheidet sich von" "deutlich anders") und nuancierte Anwendung in formalen vs. informellen Anwendung

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Mar 12, 2025 pm 04:50 PM

In diesem Artikel werden die C -Standard -Vorlagenbibliothek (STL) erläutert, die sich auf seine Kernkomponenten konzentriert: Container, Iteratoren, Algorithmen und Funktoren. Es wird beschrieben, wie diese interagieren, um die generische Programmierung, die Verbesserung der Codeeffizienz und die Lesbarkeit t zu ermöglichen

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Mar 12, 2025 pm 04:52 PM

Dieser Artikel beschreibt die effiziente Verwendung von STL -Algorithmus in c. Es betont die Auswahl der Datenstruktur (Vektoren vs. Listen), Algorithmus -Komplexitätsanalyse (z. B. std :: sortieren vs. std :: partial_sort), Iteratoranwendungen und parallele Ausführung. Häufige Fallstricke wie

See all articles