Table des matières
Compréhension conceptuelle
Description de l'algorithme
Exemple
Sortie
Exemple de cas de test
Complexité temporelle et spatiale
Conclusion
Maison développement back-end C++ Pour rendre un nombre divisible par 4, le nombre minimum de chiffres à supprimer

Pour rendre un nombre divisible par 4, le nombre minimum de chiffres à supprimer

Sep 15, 2023 pm 01:49 PM
整除 删除 数学运算

Pour rendre un nombre divisible par 4, le nombre minimum de chiffres à supprimer

Dans cet article, nous explorerons un problème de calcul intéressant : "Le nombre minimum de chiffres qui doivent être supprimés pour rendre un nombre divisible par 4". Cette question est une question fréquemment posée lors des concours de codage et des entretiens basés sur des algorithmes et constitue une excellente pratique pour améliorer vos compétences en résolution de problèmes.

Tout d’abord, comprenons l’énoncé du problème : nous avons un nombre et notre tâche est de supprimer le nombre minimum de chiffres afin que le nombre restant soit divisible par 4.

Compréhension conceptuelle

Le problème réside dans le domaine de la théorie des nombres. Un fait clé à comprendre est qu’un nombre est divisible par 4 si et seulement si ses deux derniers chiffres sont divisibles par 4. Ce fait est crucial pour résoudre notre problème.

Description de l'algorithme

L'algorithme pour résoudre ce problème implique les étapes suivantes -

  • Convertissez les nombres en chaînes.

  • Commencez par la fin de la chaîne et vérifiez si le nombre composé des deux derniers caractères est divisible par 4.

  • Si oui, renvoyez le nombre de chiffres supprimés. Sinon, supprimez le dernier caractère et incrémentez le nombre.

  • Répétez cette opération jusqu'à ce que le nombre soit divisible par 4 ou qu'il ne reste qu'un seul chiffre.

Exemple

Il s'agit d'une implémentation C++ de l'algorithme -

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

int minRemovals(string num) {
   int n = num.size();
   int count = 0;
   
   for (int i = n - 1; i > 0; i--) {
      if ((num[i] - '0' + (num[i - 1] - '0') * 10) % 4 == 0) {
         return count;
      }
      count++;
   }
   
   return n - 1;
}

int main() {
   string num = "1351";
   cout << "Minimum number of digits to be removed to make the number divisible by 4 is: ";
   cout << minRemovals(num) << endl;
   
   return 0;
}
Copier après la connexion

Sortie

Minimum number of digits to be removed to make the number divisible by 4 is: 3
Copier après la connexion

Dans la fonction minRemovals, nous initialisons le compteur à 0, ce qui permettra de garder une trace du nombre de bits supprimés. Nous parcourons ensuite à partir de la fin du nombre (chaîne) et vérifions si les deux derniers chiffres forment un nombre divisible par 4. Si tel est le cas, nous renvoyons le décompte ; sinon, nous renvoyons le décompte. Sinon, nous incrémentons le décompte et passons à l'itération suivante.

La fonction

main sert de point d'entrée à notre programme où nous définissons le numéro d'entrée et imprimons le nombre minimum de chiffres à supprimer pour que le nombre soit divisible par 4.

Exemple de cas de test

Prenons le nombre 1351 comme exemple. Quand on examine les deux derniers chiffres (51), on voit qu'il n'est pas divisible par 4. Par conséquent, nous supprimons le dernier chiffre (1) et obtenons le nombre 135. Nous vérifions à nouveau et constatons que les deux derniers chiffres (35) ne sont toujours pas divisibles par 4. Par conséquent, nous supprimons le dernier chiffre (5), laissant le nombre 13. Les deux derniers chiffres (13) ne sont pas divisibles par 4, on supprime donc le dernier chiffre (3). Il nous reste maintenant le chiffre 1, qui n'est pas divisible par 4, mais nous ne pouvons plus supprimer de chiffres. Par conséquent, le nombre minimum de chiffres à supprimer est de 3.

Complexité temporelle et spatiale

La complexité temporelle de cet algorithme est O(n), où n est le nombre de chiffres du nombre. La complexité spatiale est O(1) puisque nous n'utilisons aucune structure de données supplémentaire dans l'algorithme.

Conclusion

Dans cet article, nous abordons un problème informatique courant : déterminer le nombre minimum de chiffres qui doivent être supprimés pour rendre un nombre divisible par 4. Nous avons développé une solution C++ concise en utilisant les informations clés de la théorie des nombres.

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Le dossier inetpub peut-il être supprimé ? Comment supprimer rapidement le dossier inetpub sur le lecteur C Le dossier inetpub peut-il être supprimé ? Comment supprimer rapidement le dossier inetpub sur le lecteur C Mar 13, 2024 pm 02:00 PM

Il a été constaté qu'il existe un dossier inetpub sur le lecteur C de l'ordinateur qui occupe beaucoup de mémoire. Qu'est-ce que ce dossier inetpub ? Peut-il être supprimé directement ? En fait, inetpub est un dossier sur le serveur IIS. Le nom complet d'IIS est Internet Information Services, qui signifie Internet Information Services. Il peut être utilisé pour créer et déboguer des sites Web. S'il n'est pas nécessaire, il peut être désinstallé. La méthode spécifique est la suivante : 1. Cliquez avec le bouton droit sur le menu Démarrer et sélectionnez « Programmes et fonctionnalités ». 2. Après ouverture, cliquez sur « Activer ou désactiver les fonctionnalités de Windows ». 3. Dans la liste des fonctionnalités Windows, décochez II

Comment supprimer les notes Xiaohongshu Comment supprimer les notes Xiaohongshu Mar 21, 2024 pm 08:12 PM

Comment supprimer les notes de Xiaohongshu ? Les notes peuvent être modifiées dans l'application Xiaohongshu. La plupart des utilisateurs ne savent pas comment supprimer les notes de Xiaohongshu. Ensuite, l'éditeur propose aux utilisateurs des images et des textes expliquant comment supprimer les notes de Xiaohongshu. un regard ensemble ! Tutoriel d'utilisation de Xiaohongshu Comment supprimer les notes de Xiaohongshu 1. Ouvrez d'abord l'application Xiaohongshu et entrez dans la page principale, sélectionnez [Moi] dans le coin inférieur droit pour accéder à la zone spéciale 2. Ensuite, dans la zone Ma, cliquez sur la page de note comme suit : indiqué ci-dessous, sélectionnez la note que vous souhaitez supprimer ; 3. Accédez à la page de notes, cliquez sur [trois points] dans le coin supérieur droit ; 4. Enfin, la barre de fonctions s'agrandira en bas, cliquez sur [Supprimer] pour terminer.

Est-il vrai que vous pouvez être bloqué et supprimé sur WeChat et ne pas pouvoir être ajouté de manière permanente ? Est-il vrai que vous pouvez être bloqué et supprimé sur WeChat et ne pas pouvoir être ajouté de manière permanente ? Apr 08, 2024 am 11:41 AM

1. Tout d'abord, il est faux de bloquer et de supprimer définitivement quelqu'un et de ne pas l'ajouter de manière permanente. Si vous souhaitez ajouter l'autre partie après l'avoir bloquée et supprimée, vous n'avez besoin que du consentement de l'autre partie. 2. Si un utilisateur bloque quelqu'un, l'autre partie ne pourra pas envoyer de messages à l'utilisateur, voir son cercle d'amis ou passer des appels avec l'utilisateur. 3. Le blocage ne signifie pas la suppression de l'autre partie de la liste de contacts WeChat de l'utilisateur. 4. Si l'utilisateur supprime l'autre partie de sa liste de contacts WeChat après l'avoir bloqué, il n'y a aucun moyen de récupérer après la suppression. 5. Si l'utilisateur souhaite à nouveau ajouter l'autre partie comme ami, l'autre partie doit accepter et ajouter à nouveau l'utilisateur.

Explication détaillée des opérations de division entière et des méthodes de calcul du reste en langage Go Explication détaillée des opérations de division entière et des méthodes de calcul du reste en langage Go Mar 23, 2024 pm 06:00 PM

Explication détaillée des opérations de division entière et des méthodes de calcul de reste en langage Go. En langage Go, les opérations de division entière et les calculs de reste sont des opérations mathématiques courantes. Cet article explique comment effectuer des opérations de division d'entiers et des calculs de reste dans le langage Go, et fournit des exemples de code spécifiques. Opération de division entière Dans le langage Go, le symbole / est utilisé pour l'opération de division entière. L'opération de division entière consiste à prendre le quotient de la division de deux nombres. Le résultat est la partie entière, c'est-à-dire que la partie décimale est ignorée et aucune opération d'arrondi n'est effectuée. Les opérations de division entière sont souvent utilisées pour calculer le quotient entier après division. Exemple de code : package

Quel dossier trouve-t-on.000 ? Le dossier found.000 peut-il être supprimé ? Quel dossier trouve-t-on.000 ? Le dossier found.000 peut-il être supprimé ? Mar 13, 2024 pm 08:52 PM

Au cours de l'utilisation quotidienne de l'ordinateur, vous pouvez recevoir un message d'erreur indiquant que le fichier found.000 est perdu et endommagé. De quel dossier s'agit-il ? Peut-il être supprimé s’il n’est plus utile ? Puisque tant de gens ne connaissent pas ce fichier, laissez-moi vous parler en détail du dossier found.000 ~ 1. Qu'est-ce que le dossier found.000 Lorsque l'ordinateur est partiellement ou complètement perdu en raison d'un arrêt illégal, vous pouvez le trouver ? le dossier spécial nommé "found.000" et les fichiers avec l'extension ".chk" qu'il contient dans le répertoire spécifié de la partition système. Ce "pour

Comment supprimer les versions de Xiaohongshu ? Comment récupérer après suppression ? Comment supprimer les versions de Xiaohongshu ? Comment récupérer après suppression ? Mar 21, 2024 pm 05:10 PM

En tant que plate-forme sociale de commerce électronique populaire, Xiaohongshu a attiré un grand nombre d'utilisateurs pour partager leur vie quotidienne et leurs expériences d'achat. Parfois, nous pouvons publier par inadvertance du contenu inapproprié, qui doit être supprimé à temps pour mieux préserver notre image personnelle ou respecter les réglementations de la plateforme. 1. Comment supprimer les versions de Xiaohongshu ? 1. Connectez-vous à votre compte Xiaohongshu et accédez à votre page d'accueil personnelle. 2. Au bas de la page d'accueil personnelle, recherchez l'option « Mes créations » et cliquez pour entrer. 3. Sur la page « Mes créations », vous pouvez voir tout le contenu publié, y compris les notes, vidéos, etc. 4. Recherchez le contenu qui doit être supprimé et cliquez sur le bouton "..." à droite. 5. Dans le menu contextuel, sélectionnez l'option "Supprimer". 6. Après avoir confirmé la suppression, le contenu disparaîtra de votre page d'accueil personnelle et de votre page publique.

Comment puis-je récupérer le commentaire supprimé de quelqu'un d'autre sur Xiaohongshu ? Sera-t-il affiché si le commentaire de quelqu'un d'autre est supprimé ? Comment puis-je récupérer le commentaire supprimé de quelqu'un d'autre sur Xiaohongshu ? Sera-t-il affiché si le commentaire de quelqu'un d'autre est supprimé ? Mar 21, 2024 pm 10:46 PM

Xiaohongshu est une plateforme sociale de commerce électronique populaire, et les commentaires interactifs entre utilisateurs sont une méthode de communication indispensable sur la plateforme. Parfois, nous pouvons constater que nos commentaires ont été supprimés par d’autres, ce qui peut prêter à confusion. 1. Comment puis-je récupérer les commentaires supprimés de quelqu'un d'autre sur Xiaohongshu ? Lorsque vous constatez que vos commentaires ont été supprimés, vous pouvez d'abord essayer de rechercher directement des articles ou des produits pertinents sur la plateforme pour voir si vous pouvez toujours retrouver le commentaire. Si le commentaire est toujours affiché après avoir été supprimé, il a peut-être été supprimé par le propriétaire de la publication d'origine. À ce stade, vous pouvez essayer de contacter le propriétaire de la publication d'origine pour lui demander la raison de la suppression du commentaire et demander sa restauration. Si un commentaire a été complètement supprimé et est introuvable sur la publication d’origine, les chances qu’il soit réintégré sur la plateforme sont relativement minces. Vous pouvez essayer d'autres façons

Comment supprimer complètement WeChat File Transfer Assistant_Introduction à la fermeture de WeChat File Transfer Assistant Comment supprimer complètement WeChat File Transfer Assistant_Introduction à la fermeture de WeChat File Transfer Assistant Mar 20, 2024 pm 08:31 PM

L'assistant de transfert de fichiers de WeChat est disponible pour tous les utilisateurs. Certains utilisateurs l'utilisent comme mémo pour enregistrer certaines choses. Alors, comment supprimer complètement WeChat File Transfer Assistant ? Laissez-moi vous le présenter en détail ci-dessous. Comment supprimer complètement l'Assistant de transfert de fichiers WeChat ? Réponse : [WeChat]-[Appuyez longuement sur Assistant de transfert de fichiers]-[Supprimer ce chat]. Étapes spécifiques : 1. Ouvrez d'abord le logiciel WeChat. Après être entré dans la page d'accueil, nous trouvons [File Transfer Assistant] et maintenez enfoncé ; 2. Ensuite, une fenêtre contextuelle sera marquée comme non lue, épinglez le chat en haut, faites-le. ne pas afficher le chat et supprimer le chat Ici, nous pouvons cliquer sur [Supprimer ce chat] ;

See all articles