


Trouver le nombre avec uniquement les bits définis entre l'index Lth et Rth en utilisant C++
Dans le problème donné, nous devons trouver la valeur d'un nombre qui a tous les bits définis entre la plage donnée L, R. Par exemple −
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
Méthodes pour trouver la solution
Dans le problème donné, nous discuterons de deux méthodes, la méthode par force brute et la méthode efficace.
Méthode par force brute
Dans cette méthode, nous parcourons simplement la plage donnée et additionnons toutes les puissances de 2 dans la plage donnée et ce sera notre réponse.
Exemple
#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"; }
Sortie
14
Dans cette méthode, nous parcourons simplement la plage et ajoutons simplement les puissances de 2 des nombres de la plage. La complexité temporelle de ce programme est O(N), où N est la taille de notre plage. Mais nous pouvons encore améliorer la complexité temporelle en appliquant la connaissance des bits au problème donné.
Méthode efficace
Dans cette méthode, nous allons simplement construire une formule pour calculer notre réponse.
Exemple
#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"; }
Sortie
14
Dans cette méthode, nous formulons une formule pour calculer la réponse.
Explication du code ci-dessus
Comme vous le savez, nous devons compter les nombres avec des bits définis dans une plage donnée, donc dans cette méthode, nous trouvons un nombre de 0 à R avec tous les bits définis. Nous devons ensuite soustraire un nombre dont tous les bits sont définis de 1 à (L-1), nous formulons donc cette observation. La complexité temporelle globale du code donné est O(1), c'est-à-dire une complexité temporelle constante, ce qui signifie que nous pouvons calculer n'importe quelle réponse en temps constant.
Conclusion
Cet article écrira un programme pour "uniquement les nombres avec des bits définis entre les index L-ème et R-ème". Nous avons également appris des programmes C++ et des méthodes complètes (communes et efficaces) pour résoudre ce problème. Nous pouvons écrire le même programme dans d'autres langages comme C, Java, Python et autres. J'espère que cet article vous sera utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Au bon vieux temps, lorsque la mémoire informatique était coûteuse et la puissance de traitement limitée, l'utilisation d'opérations binaires de type hacker pour traiter les informations était la méthode privilégiée (et dans certains cas, la seule). À ce jour, l’utilisation directe d’opérations sur bits fait toujours partie intégrante de nombreux domaines informatiques, tels que la programmation système de bas niveau, le traitement graphique, la cryptographie, etc.

Nous connaissons tous des nombres qui ne sont le carré d’aucun nombre, comme 2, 3, 5, 7, 8, etc. Il existe N nombres non carrés et il est impossible de connaître tous les nombres. Ainsi, dans cet article, nous expliquerons tout sur les nombres sans carrés ou non carrés et les moyens de trouver le Nième nombre non carré en C++. Nième nombre non carré Si un nombre est le carré d'un entier, alors ce nombre est appelé un carré parfait. Quelques exemples de nombres carrés parfaits sont -1iscarréde14iscarréde29iscarréde316iscarréde425iscarréde5 Si un nombre n'est le carré d'aucun entier, alors le nombre est appelé non carré. Par exemple, les 15 premiers nombres non carrés sont -2,3,5,6,

Nous avons besoin de connaissances appropriées pour créer plusieurs paires uniques dans la syntaxe des tableaux de C++. Tout en trouvant le nombre de paires uniques, nous comptons toutes les paires uniques dans le tableau donné, c'est-à-dire que toutes les paires possibles peuvent être formées où chaque paire doit être unique. Par exemple -Input:array[]={5,5,9}Output:4Explication:Thenumberoffalluniquepairsare(5,5),(5,9),(9,5)and(9,9).Input:array[] = {5,4,3,2,2}Sortie : 16 façons de trouver une solution Il existe deux façons de résoudre ce problème, ce sont -

Un cercle est une figure fermée. Tous les points d'un cercle sont équidistants d'un point à l'intérieur du cercle. Le point central est appelé le centre du cercle. La distance d’un point au centre d’un cercle s’appelle le rayon. L'aire est une représentation quantitative de l'étendue des dimensions d'une figure fermée. L'aire d'un cercle est l'aire délimitée par les dimensions du cercle. La formule pour calculer l'aire d'un cercle, Aire=π*r*r Pour calculer l'aire, nous donnons le rayon du cercle en entrée, nous utiliserons la formule pour calculer l'aire, algorithme ÉTAPE 1 : Prendre le rayon comme entrée de l'utilisateur utilisant st dinput.ÉTAPE 2 : Calculez l'aire du cercle en utilisant, aire = (

BitSet est une classe en Java utilisée pour les opérations sur les bits. BitSet peut être considéré comme un tableau composé de bits binaires, et chaque bit binaire ne peut être que 0 ou 1. BitSet fournit une série de méthodes pour effectuer des opérations sur les bits, notamment la configuration, l'effacement, le retournement, l'obtention, etc. Il est très simple d'utiliser BitSet pour effectuer des opérations sur les bits en Java. Présentons les étapes de fonctionnement spécifiques. 1. Créez un objet BitSet. Un objet BitSet peut être créé de deux manières : 1. Créez un objet BitSet en utilisant les valeurs par défaut.

Dans cet article, nous découvrirons l'algorithme d'inversion pour faire pivoter le tableau donné vers la droite de k éléments, par exemple −Input:arr[]={4,6,2,6,43,7,3,7}, k= 4Sortie :{43,7,3,7,4,6,2,6}Explication : La rotation de chaque élément du tableau par 4 éléments vers la droite donne{43,7,3,7,4,6,2,6}.Entrée :arr[]= {8 ,5,8,2,1,4,9,3},k=3Sortie :{4,9,3,8,5,8,2,1} Trouver la solution

Dans cet article, nous utiliserons C++ pour résoudre le problème de trouver le nombre de sous-tableaux dont les valeurs maximales et minimales sont les mêmes. Voici un exemple du problème −Input:array={2,3,6,6,2,4,4,4}Output:12Explication :{2},{3},{6},{6}, {2 },{4},{4},{4},{6,6},{4,4},{4,4}et{4,4,4}sont les sous-tableaux qui peuvent être formés avec les mêmes éléments maximum et minimum. Entrée : tableau = {3, 3, 1,5,

Dans ce problème, on nous donne un pointeur vers la tête de la liste chaînée et un entier k. Dans un groupe de taille k, nous devons inverser la liste chaînée. Par exemple -Input:1<->2<->3<->4<->5(doublelylinkedlist),k=3Output:3<->2<->1<->5<->4 à la recherche de solutions Méthode Dans ce problème, nous formulerons un algorithme récursif pour résoudre ce problème. Dans cette méthode, nous utiliserons la récursivité et résoudrons le problème en utilisant la récursivité. Exemple#include<iostream&
