Trier par nombre de facteurs à l'aide de STL
Le tri des vecteurs à l'aide de STL est un jeu d'enfant. Nous pouvons utiliser la célèbre fonction sort() pour accomplir cette tâche. Le véritable défi consiste à compter le nombre de facteurs pour chaque nombre.
Un facteur est un nombre qui divise complètement un autre nombre, c'est-à-dire avec un reste nul.
Parcourir tous les nombres pour calculer les facteurs pourrait être une voie à suivre, mais nous essaierons d'optimiser et d'arriver à une solution efficace dans cet article.
Énoncé du problème
Triez le tableau donné par ordre croissant en fonction du nombre de facteurs de chaque nombre. Par conséquent, le nombre avec le plus petit nombre de facteurs doit être au début et celui avec le plus grand nombre de facteurs doit être à la fin. Les nombres avec le même nombre de facteurs doivent être disposés dans l’ordre du tableau d’origine. Les tableaux peuvent être triés à l'aide de STL.
La traduction chinoise deExemple
est :Exemple
Input − Array a = [15,2,20,3,10,4] Output − 3 2 4 10 15 20 pre class="just-code notranslate language-cpp" data-lang="cpp"> The number of factors of 15 − 4. The number of factors of 2 − 2. The number of factors of 20 − 6. The number of factors of 3 − 2. The number of factors of 10 − 4. The number of factors of 4 − 3.
Ainsi, après avoir trié les nombres par ordre croissant en fonction de leurs facteurs, nous obtenons le résultat : 3 2 4 10 15 20.
Input − Array a = [5,9,12,19,21] Output − 19 5 9 21 12
Explication
The number of factors of 5 − 3. The number of factors of 9 − 3. The number of factors of 12 − 4. The number of factors of 19 − 2. The number of factors of 21 − 4.
Méthode
Trouvez le nombre de facteurs de chaque nombre.
Créez un vecteur qui stocke des paires de nombres et leurs nombres de facteurs.
Triez le vecteur et renvoyez le résultat.
Trouver le nombre de facteurs d'un nombre
La traduction chinoise deBrute Force
est :Brute Force
Une approche naïve serait de parcourir tous les nombres de 1 à n et de découvrir s'ils divisent n. De cette façon, nous pouvons calculer le nombre de facteurs pour chaque nombre.
La traduction chinoise deExemple
est :Exemple
Ce qui suit est un programme C++ qui utilise la force brute pour calculer tous les diviseurs d'un nombre
#include <bits/stdc++.h> using namespace std; // function to count the divisors int countDivisors(int n){ int count = 0; for (int i = 1; i <= n; i++){ if (n % i == 0) count++; } return count; } int main(){ int n = 55; //Function call int ans = countDivisors(n); cout <<"The number of divisors of 55 is: "<<ans<<endl; return 0; }
Sortie
The number of divisors of 55 is: 4
Méthode efficace
Les facteurs d'un nombre existent par paires.
Par exemple, les diviseurs de 12 sont 1, 2, 3, 4, 6, 12.
Cependant, on peut les visualiser ainsi : (1,12), (2,6), (3,4).
Donc, si nous trouvons un diviseur, nous pouvons également trouver un autre diviseur sans passer par n.
Le moyen efficace consiste donc simplement à parcourir jusqu'à la racine carrée du nombre, puis à calculer les diviseurs par paires.
La traduction chinoise deExemple
est :Exemple
Ce qui suit est un programme C++ pour calculer le diviseur d'un nombre
#include <bits/stdc++.h> using namespace std; // Function to count the divisors of a number int countDivisors(int n){ int count = 0; for (int i=1; i<=sqrt(n); i++){ if (n%i == 0){ // If divisors are equal, count only one if (n/i == i) count++; else // Otherwise count both count += 2; } } return count; } int main(){ int n = 55; int ans = countDivisors(n); cout <<"The number of divisors of 55 is: "<<ans<<endl; return 0; }
Sortie
The number of divisors of 55 is: 4
Maintenant, nous pouvons suivre les deuxième et troisième étapes de la méthode évoquée ci-dessus.
Exemple de programme C++ pour imprimer des vecteurs triés en fonction du nombre de facteurs
#include <bits/stdc++.h> using namespace std; // Function to count the divisors of a number int countDivisors(int n){ int count = 0; for (int i=1; i<=sqrt(n); i++){ if (n%i == 0){ // If divisors are equal, count only one if (n/i == i) count++; else // Otherwise count both count += 2; } } return count; } int main(){ int n = 5; vector<int>vec; //Inserting input vec.push_back(5); vec.push_back(14); vec.push_back(18); vec.push_back(9); vec.push_back(10); //Vector of pairs to store the number and its factor count vector<pair<int,int>>count_data(n); for(int i=0;i<n;i++){ //Storing the data in the vector count_data[i] = {countDivisors(vec[i]), vec[i]}; } //Sort the vector according to the number of factors sort(count_data.begin(),count_data.end()); //Printing the result cout<<"The sorted vector based on the number of factors is: \n"; for(int i=0;i<n;i++){ cout<<count_data[i].second<<" "; } return 0; }
Sortie
The sorted vector based on the number of factors is: 5 9 10 14 18
Conclusion
Dans cet article, nous avons trié un vecteur en fonction du nombre de facteurs d'entiers.
Nous avons discuté de quelques exemples puis parlé des méthodes.
Le cœur de ce problème est de trouver le nombre de diviseurs d'un nombre. Il existe deux manières de résoudre ce problème : la méthode par force brute et la méthode efficace. Nous avons examiné les deux approches, puis avons utilisé l'approche efficace pour rédiger le programme final.
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

Cet article explique comment trier les images en fonction de la date de prise de vue dans Windows 11/10 et explique également ce qu'il faut faire si Windows ne trie pas les images par date. Dans les systèmes Windows, organiser correctement les photos est crucial pour faciliter la recherche des fichiers image. Les utilisateurs peuvent gérer des dossiers contenant des photos en fonction de différentes méthodes de tri telles que la date, la taille et le nom. De plus, vous pouvez définir l'ordre croissant ou décroissant selon vos besoins pour organiser les fichiers de manière plus flexible. Comment trier les photos par date de prise sous Windows 11/10 Pour trier les photos par date de prise sous Windows, procédez comme suit : Ouvrez Images, Bureau ou tout dossier dans lequel vous placez des photos. Dans le menu du ruban, cliquez sur

Outlook propose de nombreux paramètres et fonctionnalités pour vous aider à gérer votre travail plus efficacement. L’une d’elles est l’option de tri qui vous permet de classer vos emails en fonction de vos besoins. Dans ce didacticiel, nous allons apprendre à utiliser la fonction de tri d'Outlook pour organiser les e-mails en fonction de critères tels que l'expéditeur, l'objet, la date, la catégorie ou la taille. Cela vous permettra de traiter et de trouver plus facilement des informations importantes, ce qui vous rendra plus productif. Microsoft Outlook est une application puissante qui facilite la gestion centralisée de vos plannings de messagerie et de calendrier. Vous pouvez facilement envoyer, recevoir et organiser des e-mails, tandis que la fonctionnalité de calendrier intégrée facilite le suivi de vos événements et rendez-vous à venir. Comment être dans Outloo

Développement PHP : comment implémenter des fonctions de tri et de pagination des données de table Dans le développement Web, le traitement de grandes quantités de données est une tâche courante. Pour les tableaux devant afficher une grande quantité de données, il est généralement nécessaire de mettre en œuvre des fonctions de tri et de pagination des données pour offrir une bonne expérience utilisateur et optimiser les performances du système. Cet article explique comment utiliser PHP pour implémenter les fonctions de tri et de pagination des données de table et donne des exemples de code spécifiques. La fonction de tri implémente la fonction de tri dans le tableau, permettant aux utilisateurs de trier par ordre croissant ou décroissant selon différents champs. Ce qui suit est un formulaire de mise en œuvre

L'implémentation d'un comparateur personnalisé peut être réalisée en créant une classe qui surcharge Operator(), qui accepte deux paramètres et indique le résultat de la comparaison. Par exemple, la classe StringLengthComparator trie les chaînes en comparant leurs longueurs : créez une classe et surchargez Operator(), renvoyant une valeur booléenne indiquant le résultat de la comparaison. Utilisation de comparateurs personnalisés pour le tri dans les algorithmes de conteneurs. Les comparateurs personnalisés nous permettent de trier ou de comparer des données en fonction de critères personnalisés, même si nous devons utiliser des critères de comparaison personnalisés.

Dans notre travail, nous utilisons souvent le logiciel wps. Il existe de nombreuses façons de traiter les données dans le logiciel wps, et les fonctions sont également très puissantes. Nous utilisons souvent des fonctions pour trouver des moyennes, des résumés, etc. des méthodes qui peuvent être utilisées pour les données statistiques ont été préparées pour tout le monde dans la bibliothèque du logiciel WPS. Ci-dessous, nous présenterons les étapes à suivre pour trier les scores dans WPS. Après avoir lu ceci, vous pourrez tirer les leçons de cette expérience. 1. Ouvrez d’abord le tableau qui doit être classé. Comme indiqué ci-dessous. 2. Entrez ensuite la formule =rank(B2, B2 : B5, 0) et assurez-vous de saisir 0. Comme indiqué ci-dessous. 3. Après avoir saisi la formule, appuyez sur la touche F4 du clavier de l'ordinateur. Cette étape consiste à changer la référence relative en référence absolue.

Méthodes de tri dans Excel : 1. Tri sur une seule colonne ; 2. Tri sur plusieurs colonnes ; 3. Tri personnalisé. Introduction détaillée : 1. Le tri sur une seule colonne est la méthode de tri la plus courante. Il trie en fonction d'une colonne sélectionnée ; 2. Le tri sur plusieurs colonnes fait référence au tri des données dans plusieurs colonnes, généralement en fonction d'une certaine colonne en premier. de, trier par une autre colonne ; 3. Tri personnalisé, permettant aux utilisateurs de définir l'ordre de tri en fonction de leurs propres besoins.

Comment la méthode Arrays.sort() en Java trie-t-elle les tableaux par comparateur personnalisé ? En Java, la méthode Arrays.sort() est une méthode très utile pour trier les tableaux. Par défaut, cette méthode trie par ordre croissant. Mais parfois, nous devons trier le tableau selon nos propres règles définies. À ce stade, vous devez utiliser un comparateur personnalisé (Comparator). Un comparateur personnalisé est une classe qui implémente l'interface Comparator.

Dans cet article, nous allons vous montrer comment réorganiser plusieurs colonnes dans PowerQuery par glisser-déposer. Souvent, lors de l'importation de données provenant de diverses sources, les colonnes peuvent ne pas être dans l'ordre souhaité. La réorganisation des colonnes vous permet non seulement de les organiser dans un ordre logique adapté à vos besoins d'analyse ou de reporting, mais elle améliore également la lisibilité de vos données et accélère les tâches telles que le filtrage, le tri et l'exécution de calculs. Comment réorganiser plusieurs colonnes dans Excel ? Il existe de nombreuses façons de réorganiser les colonnes dans Excel. Vous pouvez simplement sélectionner l'en-tête de colonne et le faire glisser vers l'emplacement souhaité. Cependant, cette approche peut devenir fastidieuse lorsqu’il s’agit de grands tableaux comportant de nombreuses colonnes. Pour réorganiser les colonnes plus efficacement, vous pouvez utiliser l'éditeur de requête amélioré. Améliorer la requête
