Inhaltsverzeichnis
Methoden, um die Lösung zu finden
Brute-Force-Methode
Beispiel
Ausgabe
Effiziente Methode
Erklärung des obigen Codes
Fazit
Heim Backend-Entwicklung C++ Finden Sie mit C++ die Zahl, bei der nur Bits zwischen dem L-ten und dem R-ten Index gesetzt sind

Finden Sie mit C++ die Zahl, bei der nur Bits zwischen dem L-ten und dem R-ten Index gesetzt sind

Aug 26, 2023 pm 09:45 PM
位操作 c编程 数字筛选

Finden Sie mit C++ die Zahl, bei der nur Bits zwischen dem L-ten und dem R-ten Index gesetzt sind

In dem gegebenen Problem müssen wir den Wert einer Zahl finden, bei der alle Bits im gegebenen Bereich L, R gesetzt sind. Zum Beispiel −

Input: L = 1, R = 5
Output: 62
Explanation: representation of given L and R in binary form is 0..0111110

Input: L = 1, R = 4
Output: 30
Explanation: representation of given L and R in binary form is 0..11110
Nach dem Login kopieren

Methoden, um die Lösung zu finden

In dem gegebenen Problem werden wir zwei Methoden diskutieren, die Brute-Force-Methode und die effiziente Methode.

Brute-Force-Methode

Bei dieser Methode iterieren wir einfach über den angegebenen Bereich und addieren alle Zweierpotenzen im angegebenen Bereich und das wird unsere Antwort sein.

Beispiel

#include<bits/stdc++.h>
using namespace std;
int main() {
   int L = 1, R = 3; // the given range
   int ans = 0; // our answer
   for(int i = L; i <= R; i++) // traversing through the whole range
      ans += pow(2, i); // adding values to the answer.
   cout << ans << "\n";
}
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabe

14
Nach dem Login kopieren
Nach dem Login kopieren

Bei dieser Methode iterieren wir einfach über den Bereich und addieren einfach die Potenzen von 2 der Zahlen im Bereich. Die zeitliche Komplexität dieses Programms beträgt O(N), wobei N die Größe unseres Bereichs ist. Aber wir können die Zeitkomplexität weiter verbessern, indem wir Bitwissen auf das gegebene Problem anwenden.

Effiziente Methode

Bei dieser Methode erstellen wir einfach eine Formel, um unsere Antwort zu berechnen.

Beispiel

#include<bits/stdc++.h>
using namespace std;
int main() {
   int L = 1, R = 3; // the given range
   int ans = 0; // our answer
   for(int i = L; i <= R; i++) // traversing through the whole range
      ans += pow(2, i); // adding values to the answer.
   cout << ans << "\n";
}
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabe

14
Nach dem Login kopieren
Nach dem Login kopieren

Bei dieser Methode formulieren wir eine Formel zur Berechnung der Antwort.

Erklärung des obigen Codes

Wie Sie wissen, müssen wir Zahlen mit gesetzten Bits in einem bestimmten Bereich zählen, also finden wir bei dieser Methode eine Zahl, bei der alle Bits von 0 bis R gesetzt sind. Dann müssen wir eine Zahl mit allen gesetzten Bits von 1 bis (L-1) subtrahieren, also formulieren wir diese Beobachtung. Die Gesamtzeitkomplexität des angegebenen Codes beträgt O(1), d. h. konstante Zeitkomplexität, was bedeutet, dass wir jede Antwort in konstanter Zeit berechnen können.

Fazit

In diesem Artikel wird ein Programm für „nur Zahlen mit gesetzten Bits zwischen dem L-ten und dem R-ten Index“ geschrieben. Wir haben auch C++-Programme und vollständige Methoden (allgemein und effizient) gelernt, um dieses Problem zu lösen. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen schreiben. Ich hoffe, Sie finden diesen Artikel hilfreich.

Das obige ist der detaillierte Inhalt vonFinden Sie mit C++ die Zahl, bei der nur Bits zwischen dem L-ten und dem R-ten Index gesetzt sind. 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)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate 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)

Eine kurze Analyse der Bitoperationen (bitweise Operatoren) in Golang Eine kurze Analyse der Bitoperationen (bitweise Operatoren) in Golang Feb 24, 2023 pm 07:42 PM

In den guten alten Zeiten, als Computerspeicher teuer und die Rechenleistung begrenzt war, war die Verwendung von Bitoperationen im Hacker-Stil zur Verarbeitung von Informationen die bevorzugte (und in manchen Fällen sogar die einzige) Methode. Bis heute ist die direkte Verwendung von Bitoperationen ein integraler Bestandteil vieler Computerbereiche, wie z. B. der Low-Level-Systemprogrammierung, der Grafikverarbeitung, der Kryptographie usw.

Verwenden Sie C++, um Code zu schreiben, um die N-te nichtquadratische Zahl zu finden Verwenden Sie C++, um Code zu schreiben, um die N-te nichtquadratische Zahl zu finden Aug 30, 2023 pm 10:41 PM

Wir alle kennen Zahlen, die nicht das Quadrat einer Zahl sind, wie zum Beispiel 2, 3, 5, 7, 8 usw. Es gibt N nichtquadratische Zahlen und es ist unmöglich, jede Zahl zu kennen. In diesem Artikel erklären wir alles über quadratlose oder nichtquadratische Zahlen und Möglichkeiten, die N-te nichtquadratische Zahl in C++ zu finden. N-te nichtquadratische Zahl Wenn eine Zahl das Quadrat einer ganzen Zahl ist, wird die Zahl als perfektes Quadrat bezeichnet. Einige Beispiele für perfekte Quadratzahlen sind -1isquadratvon14isquadratvon29isquadratvon316isquadratvon425isquadratvon5. Wenn eine Zahl nicht das Quadrat einer ganzen Zahl ist, wird die Zahl als nichtquadratisch bezeichnet. Die ersten 15 nichtquadratischen Zahlen sind beispielsweise -2,3,5,6,

Ermitteln Sie in der C-Programmierung die Fläche eines Kreises Ermitteln Sie in der C-Programmierung die Fläche eines Kreises Aug 25, 2023 pm 10:57 PM

Ein Kreis ist eine geschlossene Figur. Alle Punkte auf einem Kreis haben den gleichen Abstand von einem Punkt innerhalb des Kreises. Der Mittelpunkt wird Kreismittelpunkt genannt. Der Abstand von einem Punkt zum Mittelpunkt eines Kreises wird Radius genannt. Die Fläche ist eine quantitative Darstellung der Dimensionsspanne einer geschlossenen Figur. Die Fläche eines Kreises ist die Fläche, die innerhalb der Abmessungen des Kreises eingeschlossen ist. Die Formel zur Berechnung der Fläche eines Kreises lautet Fläche=π*r*r. Um die Fläche zu berechnen, geben wir den Radius des Kreises als Eingabe ein. Wir verwenden die Formel zur Berechnung der Fläche, Algorithmus SCHRITT 1: Übernehmen Sie den Radius als Eingabe vom Benutzer mit stdin. SCHRITT 2 : Berechnen Sie die Fläche des Kreises mit Fläche=(

Inversionsalgorithmus für die Rechtsdrehung eines Arrays, geschrieben in C++ Inversionsalgorithmus für die Rechtsdrehung eines Arrays, geschrieben in C++ Sep 08, 2023 pm 08:17 PM

In diesem Artikel lernen wir den Umkehralgorithmus kennen, um das gegebene Array um k Elemente nach rechts zu drehen, zum Beispiel −Input:arr[]={4,6,2,6,43,7,3,7}, k= 4Ausgabe:{43,7,3,7,4,6,2,6}Erklärung:Das Drehen jedes Elements des Arrays um 4 Elemente nach rechts ergibt {43,7,3,7,4,6,2,6}.Eingabe:arr[]= {8 ,5,8,2,1,4,9,3},k=3Ausgabe:{4,9,3,8,5,8,2,1} Finden Sie die Lösung

Ermitteln Sie mit C++ die Anzahl eindeutiger Paare in einem Array Ermitteln Sie mit C++ die Anzahl eindeutiger Paare in einem Array Sep 07, 2023 am 11:53 AM

Wir benötigen entsprechende Kenntnisse, um mehrere eindeutige Paare in der Array-Syntax von C++ zu erstellen. Während wir die Anzahl der eindeutigen Paare ermitteln, zählen wir alle eindeutigen Paare im angegebenen Array, d. h. alle möglichen Paare können gebildet werden, wobei jedes Paar eindeutig sein sollte. Zum Beispiel -Input:array[]={5,5,9}Output:4Erläuterung:Die Anzahl dereinzigartigen Paaresind(5,5),(5,9),(9,5)und(9,9).Input:array[] = {5,4,3,2,2}Ausgabe: 16 Möglichkeiten, eine Lösung zu finden Es gibt zwei Möglichkeiten, dieses Problem zu lösen: −

So führen Sie Bitoperationen mit der BitSet-Funktion in Java durch So führen Sie Bitoperationen mit der BitSet-Funktion in Java durch Jun 26, 2023 pm 06:11 PM

BitSet ist eine Klasse in Java, die für Bitoperationen verwendet wird. BitSet kann man sich als ein aus Binärbits bestehendes Array vorstellen, und jedes Binärbit kann nur 0 oder 1 sein. BitSet bietet eine Reihe von Methoden zum Ausführen von Bitoperationen, einschließlich Setzen, Löschen, Umdrehen, Abrufen usw. Es ist sehr einfach, BitSet zum Ausführen von Bitoperationen in Java zu verwenden. Nachfolgend stellen wir die spezifischen Operationsschritte vor. 1. Erstellen Sie ein BitSet-Objekt. Ein BitSet-Objekt kann auf zwei Arten erstellt werden: 1. Erstellen Sie ein BitSet-Objekt mit Standardwerten.

Schreiben Sie mit C++ einen Code, um die Anzahl der Subarrays mit denselben Mindest- und Höchstwerten zu ermitteln Schreiben Sie mit C++ einen Code, um die Anzahl der Subarrays mit denselben Mindest- und Höchstwerten zu ermitteln Aug 25, 2023 pm 11:33 PM

In diesem Artikel werden wir C++ verwenden, um das Problem zu lösen, die Anzahl der Subarrays zu ermitteln, deren Maximal- und Minimalwert gleich sind. Das Folgende ist ein Beispiel für das Problem: −Input:array={2,3,6,6,2,4,4,4}Output:12Explanation:{2},{3},{6},{6}, {2 },{4},{4},{4},{6,6},{4,4},{4,4}und {4,4,4}sind die Teilarrays, die mit dem gleichen maximalen und minimalen Element gebildet werden können. Eingabe: array={3, 3, 1,5,

Ermitteln Sie in C++ die Anzahl der reflexiven Beziehungen auf einer Menge Ermitteln Sie in C++ die Anzahl der reflexiven Beziehungen auf einer Menge Aug 26, 2023 pm 08:17 PM

In diesem Artikel erklären wir Möglichkeiten, reflexive Beziehungen auf einer Menge zu finden. In diesem Problem erhalten wir eine Zahl n und eine Menge von n natürlichen Zahlen und müssen die Anzahl der reflexiven Beziehungen bestimmen. Reflexive Relation – Eine Relation R heißt eine reflexive Relation auf der Menge A, wenn für jedes „a“ in der Menge A (a, a) zur Relation R gehört. Zum Beispiel -Input:x=1Output:1Explanation:set={1},reflexiverelationsonA*A:{{1}}Input:x=2Output:4Explanation:set={1,2},reflexiverelationsonA*

See all articles