


Zählen Sie die Anzahl der Elemente im Array. Die Anzahl der Einsen in seiner binären Darstellung ist ein Vielfaches von K
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

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; }
Ausgabe
There are 3 array element whose setbits are in a multiple of K
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

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

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

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

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

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

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
