Table des matières
Grammaire
Algorithme
Exemple
Sortie
Conclusion
Maison développement back-end C++ Recherchez le nombre Armstrong maximum dans la plage du tableau et mettez-le à jour

Recherchez le nombre Armstrong maximum dans la plage du tableau et mettez-le à jour

Sep 06, 2023 pm 10:21 PM
数组 更新 Numéro Armstrong

Recherchez le nombre Armstrong maximum dans la plage du tableau et mettez-le à jour

Les requêtes sur les plages de tableaux sont un domaine émergent des structures de données. Dans cette requête, nous définissons des éléments aléatoires dans un tableau et donnons un problème de requête général pour résoudre efficacement le problème de structure des données. Le nombre d'Armstrong est la somme de ses cubes. Par exemple : 0, 1, 153, 370, 371 et 407 sont tous des nombres d'Armstrong.

Prenons un exemple pour comprendre le nombre d’Armstrong

Exemple 1 - Le numéro donné est 371, vérifiez si le numéro est le numéro Armstrong.

3*3*3 + 7*7*7 + 1* sup>1*1 = 371

Donc, c'est le numéro Armstrong.

Exemple 2 − Le nombre donné est 121, vérifiez si le nombre est le numéro d'Armstrong.

1*1*1 + 2*2*2 + 1* sup>1*1 = 9

Ce n’est donc pas un numéro Armstrong.

Dans cet article, nous allons résoudre le problème de requête de plage de tableau pour trouver le nombre Armstrong maximum et le mettre à jour.

Grammaire

Vector<object_type> variable_name;
Copier après la connexion

C'est une façon de déclarer des vecteurs dans un programme.

Algorithme

  • Nous commencerons par le fichier d'en-tête nommé « bits/stdc++.h ».

  • Nous créons une définition de fonction appelée "isArmstrong" qui prend un paramètre n en entrée et vérifie si le nombre est un nombre Armstrong.

    La compréhension des opérations des nombres Armstrong comprend les points suivants :

    • Stockez la valeur '0' dans la variable 'sum', qui sera ensuite utilisée pour additionner chaque nombre avec une puissance.

    • stocke ensuite ‘n’ dans la variable ‘temp’. Cette variable temporaire sera utilisée dans la boucle while pour vérifier la condition du nombre d'Armstrong.

    • Ensuite, nous stockons la valeur ‘0’ dans la variable ‘digits’, qui trouvera plus tard la puissance de chaque nombre.

  • Maintenant, démarrez la fonction principale et initialisez la variable "arr[]" pour définir l'élément de tableau donné.

  • Nous utilisons la première boucle for pour imprimer les éléments du tableau.

  • Initialisez une variable vectorielle nommée "armstrong" qui satisfera à la condition de l'instruction if pour trouver la liste des nombres Armstrong en utilisant la fonction prédéfinie pushback().

  • Ensuite, nous utilisons une seconde boucle for pour parcourir l'index de longueur du tableau, sous cette boucle, l'instruction if-else est utilisée pour trouver la liste des éléments du tableau selon qu'il s'agit de nombres Armstrong ou non.

  • Pour mettre à jour la requête de plage de tableau, nous initialisons une variable appelée « newNumber » pour stocker le nouvel élément du tableau qui sera vérifié comme étant un nombre Armstrong à l'aide d'une instruction if-else.

  • Ensuite, stockez 0 dans la variable 'maxArmstrong', qui est utilisée pour suivre le nombre Armstrong maximum parmi les éléments du tableau.

  • Continuez à utiliser la troisième boucle for, qui itère sur la longueur des éléments Armstrong. À l'intérieur de cette boucle, utilisez une instruction if pour trouver le nombre d'Armstrong maximum.

  • Ensuite, utilisez la dernière boucle pour parcourir les éléments du tableau suivants qui satisfont les nombres d'Armstrong et imprimer tous les nombres d'Armstrong.

  • Enfin, nous utilisons la variable 'maxArmstrong' pour imprimer le nombre d'Armstrong maximum.

La traduction chinoise de

Exemple

est :

Exemple

Dans cette application, nous trouverons le nombre Armstrong maximum avec mise à jour.

#include <bits/stdc++.h>
using namespace std;
// Function to check if a number is an Armstrong number or not
bool isArmstrong(int n) {
   int sum = 0;
   int temp = n;
   int digits = 0;
   while (temp > 0) {
      digits++;
      temp /= 10;
   }
   temp = n;
   while (temp > 0) {
      int digit = temp % 10;
      sum += pow(digit, digits);
      temp /= 10;
   }
   return sum == n;
}
int main() {
   int arr[] = {0, 123, 1, 19, 12, 153, 370};
   int a = sizeof(arr) / sizeof(arr[0]);
   cout<<"The given array element:";
   for(int m = 0; m < a; m++) {
      cout<<arr[m]<<" ";
   }
   // Vector to store Armstrong numbers
   vector<int> armstrongs;
   // Check each element of the array if it's an Armstrong number or not

   cout<<"\nThe element found to be Non-Armstrong number\n";
   for (int i = 0; i < a; i++) {
      if (isArmstrong(arr[i])) {
         armstrongs.push_back(arr[i]);
      } else {
         cout << arr[i] << endl;
      }
   }
   // Add a new number to the array and check if it's an Armstrong number or not
   int newNumber = 1278;
   cout<<"The newly added number\t"<<newNumber;
   if (isArmstrong(newNumber)) {
      cout << " : Armstrong number" << endl;
      armstrongs.push_back(newNumber);
   } else {
      cout << " : Non-Armstrong number" << endl;
   }
   // Find the maximum Armstrong number in the array
   int maxArmstrong = 0;
   for (int i = 0; i < armstrongs.size(); i++) {
      if (armstrongs[i] > maxArmstrong) {
         maxArmstrong = armstrongs[i];
      }
   }
   cout << "The following array element satisfied for Armstrong Number: ";
   for (int i = 0; i < armstrongs.size(); i++) {
      cout << armstrongs[i] << " ";
   }
   cout << endl;
   cout << "The maximum Armstrong number in the array is: " << maxArmstrong << endl;
   return 0;
}
Copier après la connexion

Sortie

There are 3 array element whose setbits are in a multiple of KThe given array element:0 123 1 19 12 153 370 
The element found to be Non-Armstrong number
123
19
12
The newly added number	1278 : Non-Armstrong number
The following array element satisfied for Armstrong Number: 0 1 153 370 
The maximum Armstrong number in the array is: 370
Copier après la connexion

Conclusion

Nous avons exploré le concept de requêtes de plage de tableau pour trouver le nombre Armstrong maximum avec la fonction de mise à jour. Nous avons vu comment filtrer un élément de tableau donné en une combinaison de nombres Armstrong et non Armstrong. Après avoir supprimé les nombres non Armstrong des éléments du tableau existants, nous imprimons simplement les résultats des éléments du tableau satisfaisant le type Armstrong et trouvons la valeur maximale parmi eux.

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
4 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)

Windows ne peut pas accéder au périphérique, au chemin ou au fichier spécifié Windows ne peut pas accéder au périphérique, au chemin ou au fichier spécifié Jun 18, 2024 pm 04:49 PM

L'ordinateur d'un ami présente un tel défaut. Lors de l'ouverture de "Ce PC" et du fichier du lecteur C, il affichera "Explorer.EXE Windows ne peut pas accéder au périphérique, au chemin ou au fichier spécifié. Vous ne disposez peut-être pas des autorisations appropriées pour accéder au projet. " Y compris les dossiers, fichiers, cet ordinateur, la corbeille, etc., un double-clic fera apparaître une telle fenêtre, et un clic droit pour l'ouvrir est normal. Ceci est dû à une mise à jour du système. Si vous rencontrez également cette situation, l'éditeur ci-dessous vous apprendra comment la résoudre. 1. Ouvrez l'éditeur de registre Win+R et entrez regedit, ou cliquez avec le bouton droit sur le menu Démarrer pour exécuter et entrez regedit. 2. Localisez le registre « Computer\HKEY_CLASSES_ROOT\PackagedCom\ClassInd » ;

Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ? Comment supprimer les éléments en double du tableau PHP à l'aide de la boucle foreach ? Apr 27, 2024 am 11:33 AM

La méthode d'utilisation d'une boucle foreach pour supprimer les éléments en double d'un tableau PHP est la suivante : parcourez le tableau, et si l'élément existe déjà et que la position actuelle n'est pas la première occurrence, supprimez-le. Par exemple, s'il existe des enregistrements en double dans les résultats de la requête de base de données, vous pouvez utiliser cette méthode pour les supprimer et obtenir des résultats sans enregistrements en double.

Windows suspend définitivement les mises à jour, Windows désactive les mises à jour automatiques Windows suspend définitivement les mises à jour, Windows désactive les mises à jour automatiques Jun 18, 2024 pm 07:04 PM

Les mises à jour Windows peuvent provoquer certains des problèmes suivants : 1. Problèmes de compatibilité : certaines applications, pilotes ou périphériques matériels peuvent être incompatibles avec les nouvelles mises à jour Windows, ce qui entraîne un dysfonctionnement ou un blocage. 2. Problèmes de performances : Parfois, les mises à jour de Windows peuvent ralentir le système ou subir une dégradation des performances. Cela peut être dû à de nouvelles fonctionnalités ou à des améliorations nécessitant davantage de ressources pour fonctionner. 3. Problèmes de stabilité du système : certains utilisateurs ont signalé qu'après l'installation des mises à jour Windows, le système pouvait rencontrer des pannes inattendues ou des erreurs d'écran bleu. 4. Perte de données : Dans de rares cas, les mises à jour Windows peuvent entraîner une perte de données ou une corruption de fichiers. C'est pourquoi avant d'effectuer des mises à jour importantes, sauvegardez votre

L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite L'art de PHP Array Deep Copy : utiliser différentes méthodes pour obtenir une copie parfaite May 01, 2024 pm 12:30 PM

Les méthodes de copie approfondie de tableaux en PHP incluent : l'encodage et le décodage JSON à l'aide de json_decode et json_encode. Utilisez array_map et clone pour créer des copies complètes des clés et des valeurs. Utilisez Serialize et Unsérialize pour la sérialisation et la désérialisation.

Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes Inversion des valeurs clés du tableau PHP : analyse comparative des performances de différentes méthodes May 03, 2024 pm 09:03 PM

La comparaison des performances des méthodes de retournement des valeurs de clé de tableau PHP montre que la fonction array_flip() fonctionne mieux que la boucle for dans les grands tableaux (plus d'un million d'éléments) et prend moins de temps. La méthode de la boucle for consistant à retourner manuellement les valeurs clés prend un temps relativement long.

AMD publie une nouvelle mise à jour du micrologiciel AGESA pour corriger la vulnérabilité Zenbleed affectant les processeurs Zen 2 AMD publie une nouvelle mise à jour du micrologiciel AGESA pour corriger la vulnérabilité Zenbleed affectant les processeurs Zen 2 May 03, 2024 pm 04:31 PM

Selon les informations de ce site du 3 mai, MSI a publié aujourd'hui la mise à jour du micrologiciel AMDAM4AGESA1.2.0.Ca, qui corrige la vulnérabilité de sécurité Zenbleed dans l'APU Zen2 AMD Ryzen4000. La mise à jour du firmware publiée par MSI convient cette fois à presque toutes les cartes mères X570. Elle corrige principalement le CVE-2023-20593 pour les processeurs Zen2, qu'AMD classe comme menace moyenne. Remarque sur ce site : Le numéro de suivi des vulnérabilités est CVE-2023-20593, qui peut voler des données confidentielles à une vitesse de 30 Ko par cœur et par seconde. Cette attaque affecte tous les logiciels exécutés sur le processeur, y compris les machines virtuelles, les bacs à sable, les conteneurs et les processus. Bien que le but d’AGESA1.2.0.Ca

Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces Meilleures pratiques pour la copie approfondie des tableaux PHP : découvrez des méthodes efficaces Apr 30, 2024 pm 03:42 PM

La meilleure pratique pour effectuer une copie complète d'un tableau en PHP consiste à utiliser json_decode(json_encode($arr)) pour convertir le tableau en chaîne JSON, puis à le reconvertir en tableau. Utilisez unserialize(serialize($arr)) pour sérialiser le tableau en chaîne, puis désérialisez-le en un nouveau tableau. Utilisez RecursiveIteratorIterator pour parcourir de manière récursive des tableaux multidimensionnels.

Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes Pratique du tri multidimensionnel des tableaux PHP : des scénarios simples aux scénarios complexes Apr 29, 2024 pm 09:12 PM

Le tri des tableaux multidimensionnels peut être divisé en tri sur une seule colonne et en tri imbriqué. Le tri sur une seule colonne peut utiliser la fonction array_multisort() pour trier par colonnes ; le tri imbriqué nécessite une fonction récursive pour parcourir le tableau et le trier. Les cas pratiques incluent le tri par nom de produit et le tri composé par volume de ventes et prix.

See all articles