Table des matières
Exemple
Méthode 2
Algorithme
Sortie
Conclusion
Maison développement back-end C++ Vérifie si le nombre formé par la concaténation des éléments du tableau est un nombre haché

Vérifie si le nombre formé par la concaténation des éléments du tableau est un nombre haché

Aug 25, 2023 pm 08:17 PM
连接 数组元素 Numéro de hachage

Vérifie si le nombre formé par la concaténation des éléments du tableau est un nombre haché

Dans cette question, on nous donne un tableau d'entiers. Nous devons combiner tous les éléments en un entier et vérifier s'il s'agit d'un nombre Harshad.

Avant de passer à la solution, comprenons le numéro Harshad. Tous les nombres sont des nombres Harshad, divisibles par la somme de leurs nombres. Par exemple, 12 est le nombre de Harshad car 12 est divisible par 3, qui est la somme de 1+2.

Pour résoudre ce problème, nous pouvons ajouter tous les éléments du tableau puis vérifier si le résultat est un nombre Harshad.

Énoncé du problème - On nous donne un tableau d'entiers. Nous devons combiner tous les éléments en un nombre et vérifier si le nombre combiné est un nombre Harshad.

Exemple

Entrée – arr = {1, 35, 69, 60};

sortie-oui

Explication - Le nombre résultant 1356960 est divisible par sa somme.

Entrée arr = {1, 65, 78, 1}

Sortie – Non

Explication – Le nombre combiné 165781 n'est pas divisible par 28.

Entrée – arr = {1, 44}

sortie-oui

Explication——144 est divisible par 9.

Méthode 1

Cette méthode combine tous les éléments du tableau en une seule chaîne. Nous utiliserons ensuite la méthode stoi() pour convertir les chaînes combinées en entiers. Ensuite, on peut utiliser l'opérateur modulo pour vérifier si un nombre est divisible par la somme de ses chiffres.

Algorithme

  • Définissez une variable chaîne "combinée" et initialisez-la avec une chaîne vide.

  • Parcourez un tableau d'entiers. Utilisez la méthode to_string() pour convertir un nombre en chaîne. Après cela, ajoutez-le à la variable "combinée".

  • Définissez la variable « somme » et initialisez-la à zéro pour stocker la somme des nombres.

  • Parcourez la chaîne combinée et stockez la somme de chaque nombre.

  • Convertissez les chaînes combinées en entiers à l'aide de la méthode stoi(). Ensuite, l'entier est pris modulo et une valeur booléenne est renvoyée en fonction du résultat.

Exemple

#include <iostream>
#include <vector>
using namespace std;

// function to check whether the number formed by concatenating the elements of the array is a Harshad number or not
bool isHarshadNumber(vector<int> array){
   // store the concatenated number
   string combined = "";
   // Iterate over the array
   for (auto num : array){
      // Concatenate the string
      combined += to_string(num);
   }
   // Stores the sum of digits
   int sum = 0;
   // Calculate sum of digits
   for (int i = 0; i < combined.length(); i++)
      sum += (combined[i] - '0');
   // Check if n is divisible by the sum
   return stoi(combined) % sum == 0;
}
int main(){
   // Input
   vector<int> arr{1, 35, 69, 60};
   if (isHarshadNumber(arr))
      cout << "Yes, the number formed by concatenating the array element is a Harshad number";
   else
      cout << "No, the number formed by concatenating the array element is not a Harshad number";
   return 0;
}
Copier après la connexion

Sortie

Yes, the number formed by concatenating the array element is a Harshad number
Copier après la connexion

Complexité temporelle - O(N) puisque nous parcourons la chaîne.

Complexité spatiale - O(1) puisque nous n'utilisons pas d'espace supplémentaire.

Méthode 2

Dans cette méthode, nous effectuerons l'opération modulo sur chaque petit bloc de l'entier combiné et vérifierons si le grand entier est divisible par sa somme.

Algorithme

  • Définissez des variables de chaîne "combinées".

  • Parcourez le tableau d'entiers et stockez toutes les combinaisons d'entiers dans la variable « combinée ».

  • Stockez la somme des nombres dans la variable "somme"

  • Utilisez une boucle pour parcourir des chaînes "combinées".

  • Définissez la variable « actuelle » et initialisez-la à zéro

  • Multipliez la variable « actuelle » par 10 et ajoutez la valeur numérique actuelle. Ensuite, stockez la valeur résultante dans la variable « actuelle ».

  • Effectuez une opération modulo sur le « courant » et la somme.

  • Lorsque toutes les itérations de la boucle sont terminées, retournez true si la valeur de la variable "current" est nulle. Renvoie false si la valeur de la variable actuelle est différente de zéro.

Exemple

#include <iostream>
#include <vector>
using namespace std;

// function to check whether the number formed by concatenating the elements of the array is a Harshad number or not
bool isHarshadNumber(vector<int> array){
   // store the concatenated number
   string combined = "";
   // Iterate over the array
   for (auto num : array){
      // Concatenate the string
      combined += to_string(num);
   }
   // Stores the sum of digits
   int sum = 0;
   // Calculate the sum of digits
   for (int i = 0; i < combined.length(); i++)
      sum += (combined[i] - '0');
   // to store the current integer
   int current = 0;
   for (int i = 0; i < combined.size(); i++) {
      // Calculate the current integer by multiplying 10 and adding the current digit
      current = current * 10 + (combined[i] - '0');
      // Check if the current integer is divisible by the sum
      current %= sum;
   }
   return current == 0;
}
int main(){
   // Input
   vector<int> arr{1, 35, 69, 0};
   if (isHarshadNumber(arr))
      cout << "Yes, the number formed by concatenating the array element is a Harshad number";
   else
      cout << "No, the number formed by concatenating the array element is not a Harshad number";
   return 0;
}
Copier après la connexion

Sortie

No, the number formed by concatenating the array element is not a Harshad number
Copier après la connexion

Complexité temporelle - O(N)

Complexité spatiale - O(1)

Conclusion

Nous avons appris deux manières différentes de résoudre le problème. La première méthode n'est utilisée que lorsque le tableau contient moins d'éléments, car la méthode stoi() présente certaines limites lors de la conversion de chaînes en entiers. La deuxième méthode est générale et peut être utilisée pour N éléments de tableau.

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)

Guide complet de la connexion à la manette de jeu Win11 Guide complet de la connexion à la manette de jeu Win11 Jan 02, 2024 pm 05:26 PM

Après la mise à jour vers le dernier système Win11, de nombreux utilisateurs ne savent pas comment connecter le contrôleur pour jouer à des jeux. Pour cette raison, nous vous proposons aujourd'hui un didacticiel détaillé sur la connexion du contrôleur Win11. Si vous n'avez pas encore terminé la connexion, Voyons comment le faire fonctionner. Comment connecter le contrôleur dans Win11 : 1. Cliquez sur Démarrer ci-dessous, puis entrez les paramètres Windows pour ouvrir le « Panneau de configuration ». 2. Après avoir entré, vous pouvez trouver « Afficher les appareils et les imprimantes » pour entrer. 3. À ce stade, vous pouvez voir les informations sur le périphérique contrôleur et simplement établir la connexion. 4. Une fois la connexion réussie, un √ apparaît et la connexion est terminée.

L'imprimante Win7 ne peut pas se connecter au code d'erreur 0x0000011b L'imprimante Win7 ne peut pas se connecter au code d'erreur 0x0000011b Dec 26, 2023 pm 10:01 PM

Plusieurs fois, nous devons utiliser un ordinateur pour nous connecter à l'imprimante pour diverses opérations d'impression, mais parfois certains utilisateurs rencontreront le problème que Win7 ne peut pas se connecter à l'imprimante 0x0000011b. Voici la solution spécifique. Win7 ne peut pas se connecter à l'imprimante 0x0000011b1. Touche de raccourci "win+r", entrez "regedit" 2. Recherchez le chemin suivant "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print" 3. Cliquez avec le bouton droit pour créer une nouvelle valeur "DWORD ( 32 bits) (D) et définissez la valeur sur 0. Nommez le nouveau projet « RpcAuthnLevelPri »

Comment vérifier les détails et l'état de la connexion réseau sous Windows 11 Comment vérifier les détails et l'état de la connexion réseau sous Windows 11 Sep 11, 2023 pm 02:17 PM

Afin de vous assurer que votre connexion réseau fonctionne correctement ou de résoudre le problème, vous devez parfois vérifier les détails de la connexion réseau sous Windows 11. En faisant cela, vous pouvez afficher diverses informations, notamment votre adresse IP, votre adresse MAC, la vitesse de la liaison, la version du pilote, etc., et dans ce guide, nous vous montrerons comment procéder. Comment trouver les détails de la connexion réseau sur Windows 11 ? 1. Utilisez l'application « Paramètres » et appuyez sur la touche + pour ouvrir les paramètres Windows. WindowsI Ensuite, accédez à Réseau et Internet dans le volet de gauche et sélectionnez votre type de réseau. Dans notre cas, il s'agit d'Ethernet. Si vous utilisez un réseau sans fil, sélectionnez plutôt un réseau Wi-Fi. Au bas de l'écran, vous devriez voir

Comment connecter la balance de graisse corporelle Comment connecter la balance de graisse corporelle Mar 07, 2024 pm 04:50 PM

Comment connecter la balance de graisse corporelle Keep ? Keep dispose d'une balance de graisse corporelle spécialement conçue, mais la plupart des utilisateurs ne savent pas comment connecter la balance de graisse corporelle Keep. Voici ensuite le didacticiel graphique sur la méthode de connexion de la balance de graisse corporelle Keep. L'éditeur apporte aux utilisateurs, les utilisateurs intéressés viennent y jeter un œil ! Comment connecter la balance de graisse corporelle Keep 1. Ouvrez d'abord le logiciel Keep, accédez à la page principale et cliquez sur [Mon] dans le coin inférieur droit pour sélectionner [Matériel intelligent] 2. Ensuite, sur la page Mes appareils intelligents, cliquez sur le bouton ; Bouton [Ajouter un appareil] au milieu ; 3, puis sélectionnez l'appareil auquel vous souhaitez ajouter une interface, sélectionnez [Échelle de graisse corporelle/poids intelligente] 4. Ensuite, sur la page de sélection du modèle d'appareil, cliquez sur l'option [Conserver la balance de graisse corporelle] ; ; 5. Enfin, dans l'interface ci-dessous, enfin [Ajouter maintenant] en bas

Comment résoudre une connexion réseau limitée dans Windows 10 Comment résoudre une connexion réseau limitée dans Windows 10 Feb 19, 2024 pm 09:20 PM

Solutions aux connexions réseau restreintes dans Win10 Avec le développement rapide de la technologie, Internet est devenu un élément indispensable de la vie des gens. Cependant, nous pouvons parfois rencontrer des problèmes lors de la connexion à Internet sur des ordinateurs utilisant le système d'exploitation Windows 10, dont l'un est la restriction des connexions. Dans ce cas, nous ne pouvons pas accéder aux pages Web, télécharger des fichiers ou utiliser normalement les fonctions réseau. Alors, y a-t-il un moyen de résoudre ce problème ? Cet article vous présentera plusieurs solutions courantes. 1. Vérifiez les paramètres de connexion réseau.

Que signifie le code d'erreur de l'imprimante 0x0000011b ? Que signifie le code d'erreur de l'imprimante 0x0000011b ? Feb 18, 2024 pm 10:02 PM

Que signifie 0x0000011b lors de la connexion à une imprimante ? Les utilisateurs rencontrent souvent divers codes d'erreur lorsqu'ils utilisent des ordinateurs, des ordinateurs portables ou d'autres appareils. Parmi eux, 0x0000011b est un code d’erreur de connexion d’imprimante courant. Alors, que signifie la connexion de l’imprimante 0x0000011b ? Tout d’abord, nous devons comprendre les principes de base de la connexion d’une imprimante. Lorsque nous devons imprimer des fichiers à partir de l'ordinateur, nous devons généralement connecter l'imprimante à l'ordinateur pour le transfert de données entre les deux. Cette connexion peut être établie via

Comment connecter la montre OnePlus au casque Bluetooth_Comment connecter la montre OnePlus au casque Bluetooth Comment connecter la montre OnePlus au casque Bluetooth_Comment connecter la montre OnePlus au casque Bluetooth Mar 23, 2024 pm 01:16 PM

1. Placez les écouteurs dans la boîte des écouteurs et maintenez le couvercle ouvert. Appuyez et maintenez enfoncé le bouton de la boîte pour entrer dans l'état d'appairage des écouteurs. 2. Activez la fonction regarder de la musique et sélectionnez les écouteurs Bluetooth, ou sélectionnez les écouteurs Bluetooth dans la fonction des paramètres de la montre. 3. Sélectionnez le casque sur la montre à associer avec succès.

L'imprimante partagée ne peut pas se connecter à l'imprimante L'imprimante partagée ne peut pas se connecter à l'imprimante Feb 22, 2024 pm 01:09 PM

Avec le développement de l’ère numérique, les imprimantes partagées sont devenues un élément indispensable de l’environnement de bureau moderne. Cependant, nous pouvons parfois rencontrer le problème que l'imprimante partagée ne peut pas être connectée à l'imprimante, ce qui affectera non seulement l'efficacité du travail, mais provoquera également une série de problèmes. Cet article vise à explorer les raisons et les solutions pour lesquelles une imprimante partagée ne peut pas se connecter à l'imprimante. Il existe de nombreuses raisons pour lesquelles une imprimante partagée ne peut pas se connecter à l'imprimante, la plus courante étant les problèmes de réseau. Si la connexion réseau entre l'imprimante partagée et l'imprimante est instable ou interrompue, le fonctionnement normal ne sera pas possible.

See all articles