Table des matières
Algorithme
Exemple
Sortie
Conclusion
Maison développement back-end C++ Comptez le nombre d'éléments dans le tableau. Le nombre de 1 dans sa représentation binaire est un multiple de K.

Comptez le nombre d'éléments dans le tableau. Le nombre de 1 dans sa représentation binaire est un multiple de K.

Sep 19, 2023 pm 10:09 PM
二进制表示 Nombre d'éléments nombre de

Les bits définis sont la représentation binaire de 0 et 1. Ce numéro 1 est appelé bit de réglage dans un ordinateur. Prenons un exemple pour comprendre le calcul des bits définis -

Prenons un exemple pour comprendre le calcul du setbit -

Le bit défini de l'entier 96 est calculé comme suit :

Comptez le nombre déléments dans le tableau. Le nombre de 1 dans sa représentation binaire est un multiple de K.

Supposons que nous voulions définir les bits sur la somme de 96. Ainsi, selon la représentation ci-dessus, nous définirons le bit 1 sur ces éléments du tableau et leur somme sera de 96. De cette façon nous formerons 2 groupes de bits. Ainsi, si nous définissons la valeur K sur 2, les bits de réglage de 96 en sont des multiples.

Dans ce programme, nous allons résoudre le problème de comptage d'éléments de tableau où le nombre de bits définis est un multiple de K.

Algorithme

  • Nous utiliserons un fichier d'en-tête nommé 'bits/stdc++.h' pour démarrer le programme, qui contient toutes les bibliothèques de modèles standard de C++.

  • Nous créons une définition de fonction appelée ‘find_bitcount’, qui accepte trois paramètres, arr, n et k, et est définie comme suit −

    arr[] - Obtenez l'entrée du tableau à partir de la fonction principale du tableau.

    n − longueur du tableau

    k - Vérifie la divisibilité du nombre de bits avec le réglage.

    Cela comptera le nombre total de bits définis dans les éléments du tableau.

  • Nous stockons ensuite ‘0’ dans la variable ‘ans’, qui gardera une trace du nombre de nombres qui satisfont à la condition.

  • Nous démarrons la boucle for pour parcourir chaque élément et stocker l'élément du tableau, c'est-à-dire 'arr[i]' dans la variable 'x' qui satisfait la condition dans la boucle while suivante pour vérifier les paramètres de bits totaux Conditions de comptage . De cette façon, la fonction initialise ‘x’ à la valeur de l’élément du tableau.

  • Ensuite, la variable ‘setBitsCount’ est initialisée à ‘0’, ce qui gardera une trace des bits définis de l’élément actuel du tableau.

  • Ensuite, nous créons une boucle while pour vérifier si x (l'élément du tableau stocké dans x) est supérieur à 0 et procédons comme suit :

    • setBitsCount += x & 1 - Utilisez l'opérateur ET au niveau du bit dans une boucle et 1 pour déterminer si le bit le moins significatif de x est 1.

    • x = x >> 1 − Si le résultat est 1, augmentez le nombre de chiffres défini de 1. Utilisez ensuite l'opérateur >> dans la boucle pour décaler x 1 bit vers la droite afin d'éliminer le bit le moins significatif.

  • Maintenant, utilisez l'instruction if pour vérifier si 'setBitsCount' est divisible par 'k', utilisez l'opérateur '%' et est égal à '0', puis l'élément actuel du tableau remplit la condition et incrémente la variable 'ans' par '1'.

  • Après avoir traité toutes les conditions ci-dessus, la fonction renvoie la valeur de ‘ans’, qui définit le nombre total défini de chiffres des éléments du tableau.

  • Allez-y, démarrez la fonction principale et déclarez tous les éléments du tableau. Nous initialisons ensuite la variable ‘n’ pour trouver la taille du tableau, et initialisons la variable ‘K’ à ‘2’, qui vérifiera si l’élément du tableau est un multiple de K.

  • Enfin, dans l'instruction print, nous appelons la définition de fonction nommée 'find_bitcount()' et obtenons le résultat.

Exemple

Dans ce programme, nous implémenterons le comptage d'un élément de tableau dont le bit défini est un multiple de K.

#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;
}
Copier après la connexion

Sortie

There are 3 array element whose setbits are in a multiple of K
Copier après la connexion

Conclusion

Nous avons exploré le concept de nombre d'éléments de tableau, où le nombre de chiffres est un multiple de K. Dans ce programme, une fonction est définie pour calculer le nombre total d'éléments d'un nombre défini d'éléments du tableau. Nous observons ensuite comment le nombre défini de bits est décalé via l'opérateur >> et utilisons une instruction conditionnelle pour vérifier combien d'éléments du tableau ont été transmis au nombre défini de bits. Enfin, nous imprimons simplement les résultats.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

C Structure des données du langage: représentation des données et fonctionnement des arbres et des graphiques C Structure des données du langage: représentation des données et fonctionnement des arbres et des graphiques Apr 04, 2025 am 11:18 AM

C Structure des données du langage: La représentation des données de l'arborescence et du graphique est une structure de données hiérarchique composée de nœuds. Chaque nœud contient un élément de données et un pointeur vers ses nœuds enfants. L'arbre binaire est un type spécial d'arbre. Chaque nœud a au plus deux nœuds enfants. Les données représentent StrustReenode {intdata; structTreenode * gauche; structureReode * droite;}; L'opération crée une arborescence d'arborescence arborescence (prédécision, ordre dans l'ordre et ordre ultérieur) Le nœud d'insertion de l'arborescence des arbres de recherche de nœud Graph est une collection de structures de données, où les éléments sont des sommets, et ils peuvent être connectés ensemble via des bords avec des données droites ou peu nombreuses représentant des voisins.

Comment fonctionne la bibliothèque de modèle standard C (STL)? Comment fonctionne la bibliothèque de modèle standard C (STL)? Mar 12, 2025 pm 04:50 PM

Cet article explique la bibliothèque de modèles standard C (STL), en se concentrant sur ses composants principaux: conteneurs, itérateurs, algorithmes et fonctors. Il détaille comment ces interagissent pour permettre la programmation générique, l'amélioration de l'efficacité du code et de la lisibilité

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)? Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)? Mar 12, 2025 pm 04:52 PM

Cet article détaille l'utilisation efficace de l'algorithme STL en c. Il met l'accent sur le choix de la structure des données (vecteurs vs listes), l'analyse de la complexité des algorithmes (par exemple, STD :: Srieur vs std :: partial_sort), l'utilisation des itérateurs et l'exécution parallèle. Pièges communs comme

Comment gérer efficacement les exceptions en C? Comment gérer efficacement les exceptions en C? Mar 12, 2025 pm 04:56 PM

Cet article détaille la gestion efficace des exceptions en C, couvrant les mécanismes d'essai, de capture et de lancement. Il met l'accent sur les meilleures pratiques comme RAII, en évitant les blocs de capture inutiles et en enregistrant des exceptions pour un code robuste. L'article aborde également Perf

Comment utiliser efficacement les références RValue en C? Comment utiliser efficacement les références RValue en C? Mar 18, 2025 pm 03:29 PM

L'article discute de l'utilisation efficace des références de référence en C pour la sémantique de déplacement, le transfert parfait et la gestion des ressources, mettant en évidence les meilleures pratiques et les améliorations des performances. (159 caractères)

La vérité derrière le problème de fonctionnement du fichier de langue C La vérité derrière le problème de fonctionnement du fichier de langue C Apr 04, 2025 am 11:24 AM

La vérité sur les problèmes de fonctionnement des fichiers: l'ouverture des fichiers a échoué: les autorisations insuffisantes, les mauvais chemins de mauvais et les fichiers occupés. L'écriture de données a échoué: le tampon est plein, le fichier n'est pas écrivatif et l'espace disque est insuffisant. Autres FAQ: traversée de fichiers lents, encodage de fichiers texte incorrect et erreurs de lecture de fichiers binaires.

Comment utiliser les plages dans C 20 pour une manipulation de données plus expressive? Comment utiliser les plages dans C 20 pour une manipulation de données plus expressive? Mar 17, 2025 pm 12:58 PM

Les plages de c 20 améliorent la manipulation des données avec l'expressivité, la composibilité et l'efficacité. Ils simplifient les transformations complexes et s'intègrent dans les bases de code existantes pour de meilleures performances et maintenabilité.

Comment utiliser Move Semantics en C pour améliorer les performances? Comment utiliser Move Semantics en C pour améliorer les performances? Mar 18, 2025 pm 03:27 PM

L'article discute de l'utilisation de Move Semantics en C pour améliorer les performances en évitant la copie inutile. Il couvre la mise en œuvre de constructeurs de déplace

See all articles