Table des matières
Énoncé du problème
Exemple Exemple 2
Explication
Méthode 1 : Méthode de fissuration par force brute
pseudocode
Exemple : implémentation C++
Sortie
Méthode 2
Conclusion
Maison développement back-end C++ La somme des produits de chaque paire

La somme des produits de chaque paire

Sep 11, 2023 pm 07:33 PM
计算 produit et

La somme des produits de chaque paire

Le produit par paire de l'ensemble X = {a, b, c} peut être défini comme la somme des produits de toutes les paires d'ensembles possibles. Les paires d'ensembles sont Y = {a * a, a * b, a *c, b * b, b * c, c * c}, où les produits sont commutatifs. Par conséquent, le produit par paire d’un ensemble X est la somme des éléments de l’ensemble Y, qui est aa + ab + ac + bb + bc + cc.

En termes mathématiques, la somme des produits possibles par paire peut être exprimée comme suit :

$$mathrm{displaystylesumlimits_{i=1,j=i}^{ileq n,jleq n}:(i,j)=itime j}$$

Énoncé du problème

Étant donné un numéro n. Trouvez la somme des produits par paires dans la plage (1, n), y compris n et 1.

Exemple Exemple 1

Input: n = 4
Copier après la connexion
Output: 65
Copier après la connexion
La traduction chinoise de

Explication

est :

Explication

i va de 1 à 4, j va de i à 4.

1*1 + 1*2 + 1*3 + 1*4 + 2*2 + 2*3 + 2*4 + 3*3 + 3*4 + 4*4 = 1 + 2 + 3 + 4 + 4 + 6 + 8 + 9 + 12 + 16 = 65

Exemple Exemple 2

Input: n = 10
Copier après la connexion
Output: 1705
Copier après la connexion
La traduction chinoise de

Explication

est :

Explication

i va de 1 à 10, j va de i à 10.

1*1 + 1*2 + … + 1*10 + 2*2 + 2*3 + … + 2*10 + 3*3 + 3*4 + … + 3*10 + 4*4 + 4*5 + … 4*10 + 5*5 + 5*6 + … + 5*10 + 6*6 + 6*7 + … 6*10 + 7*7 + 7*8 + … 7*10 + 8* 8 + 8*9 + 8*10 + 9*9 + 9*10 + 10*10 = 1705

Méthode 1 : Méthode de fissuration par force brute

La solution par force brute à ce problème consiste à utiliser deux boucles for pour parcourir toutes les paires de nombres possibles dans la plage, où la première boucle parcourt de 1 à n et la deuxième boucle parcourt du premier nombre à n.

pseudocode

procedure pairwiseProduct (n)
   sum = 0
   for i = 1 to n
      for j = i to n
         sum = sum + (i * j)
end procedure
Copier après la connexion

Exemple : implémentation C++

Dans le programme suivant, nous trouvons toutes les paires possibles puis trouvons la somme des produits.

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

// Function to find pairwise product over the range 1 to n, 1 and n inclusive
unsigned long long pairwiseProduct(unsigned int n){
   unsigned long long sum = 0;
   
   // First number: 1 <= i <= n
   for (unsigned int i = 1; i <= n; i++){
   
      // Second number: i <= j <= n
      for (unsigned int j = i; j <= n; j++){
         sum += i * j;
      }
   }
   return sum;
}
int main(){
   unsigned long long n = 9;
   cout << "Pairwise Product = " << pairwiseProduct(n);
   return 0;
}
Copier après la connexion

Sortie

Pairwise Product = 1155
Copier après la connexion
Copier après la connexion

Complexité temporelle - O(n^2)

Complexité spatiale - O(1)

Méthode 2

Prenons n = 4 comme exemple,

I = 1*1 + 1*2 + 1*3 + 1*4 + 2*2 + 2*3 + 2*4 + 3*3 + 3*4 + 4*4

En simplifiant ce qui précède,

I = 1*1 + (1+2)*2 + (1+2+3)*3 + (1+2+3+4)*4

Prenons prefix_sum[1] = 1,

Somme du préfixe[2] = 1+2,

Somme des préfixes[3] = 1+2+3,

Somme du préfixe[2] = 1+2,

pseudocode

procedure pairwiseProduct (n)
   sum = 0
   prefixSum = 0
   for i = 1 to n
      prefixSum = prefixSum + 1
      sum = sum + i * prefixSum
end procedure
Copier après la connexion

Exemple : implémentation C++

Dans le programme ci-dessous, on trouve la somme de chaque itération, la somme des préfixes, et on la multiplie par le nombre d'itérations puis on l'ajoute à la somme finale à chaque étape.

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

// Function to find pairwise product over the range 1 to n, 1 and n inclusive
unsigned long long pairwiseProduct(unsigned int n){
   unsigned long long sum = 0;
   unsigned long long prefixSum = 0;
   for (unsigned int i = 1; i <= n; i++){
      prefixSum += i;
      sum += i * prefixSum;
   }
   return sum;
}
int main(){
   unsigned long long n = 9;
   cout << "Pairwise Product = " << pairwiseProduct(n);
   return 0;
}
Copier après la connexion

Sortie

Pairwise Product = 1155
Copier après la connexion
Copier après la connexion

Conclusion

En bref, pour résoudre la somme des produits par paires de nombres compris entre 1 et n, nous pouvons utiliser l'une des deux méthodes mentionnées ci-dessus, la première méthode est la méthode de la force brute et la complexité temporelle est O(n^ 2) , la deuxième méthode est une méthode d'optimisation qui utilise la somme des préfixes pour calculer la somme de deux produits, et la complexité temporelle est O(n).

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)

La multiplication matricielle universelle de CUDA : de l'entrée à la maîtrise ! La multiplication matricielle universelle de CUDA : de l'entrée à la maîtrise ! Mar 25, 2024 pm 12:30 PM

La multiplication matricielle générale (GEMM) est un élément essentiel de nombreuses applications et algorithmes, et constitue également l'un des indicateurs importants pour évaluer les performances du matériel informatique. Une recherche approfondie et l'optimisation de la mise en œuvre de GEMM peuvent nous aider à mieux comprendre le calcul haute performance et la relation entre les systèmes logiciels et matériels. En informatique, une optimisation efficace de GEMM peut augmenter la vitesse de calcul et économiser des ressources, ce qui est crucial pour améliorer les performances globales d’un système informatique. Une compréhension approfondie du principe de fonctionnement et de la méthode d'optimisation de GEMM nous aidera à mieux utiliser le potentiel du matériel informatique moderne et à fournir des solutions plus efficaces pour diverses tâches informatiques complexes. En optimisant les performances de GEMM

Comment calculer l'addition, la soustraction, la multiplication et la division dans un document Word Comment calculer l'addition, la soustraction, la multiplication et la division dans un document Word Mar 19, 2024 pm 08:13 PM

WORD est un traitement de texte puissant. Nous pouvons utiliser Word pour éditer divers textes. Dans les tableaux Excel, nous maîtrisons les méthodes de calcul d'addition, de soustraction et de multiplicateurs. Ainsi, si nous avons besoin de calculer l'addition de valeurs numériques dans les tableaux Word, Comment soustraire le multiplicateur ? Puis-je utiliser uniquement une calculatrice pour le calculer ? La réponse est bien sûr non, WORD peut aussi le faire. Aujourd'hui, je vais vous apprendre à utiliser des formules pour calculer des opérations de base telles que l'addition, la soustraction, la multiplication et la division dans des tableaux dans des documents Word. Apprenons ensemble. Alors, aujourd'hui, permettez-moi de vous montrer en détail comment calculer l'addition, la soustraction, la multiplication et la division dans un document WORD ? Étape 1 : ouvrez un WORD, cliquez sur [Tableau] sous [Insérer] dans la barre d'outils et insérez un tableau dans le menu déroulant.

Comment compter le nombre d'éléments dans une liste à l'aide de la fonction count() de Python Comment compter le nombre d'éléments dans une liste à l'aide de la fonction count() de Python Nov 18, 2023 pm 02:53 PM

Comment utiliser la fonction count() de Python pour compter le nombre d'éléments dans une liste nécessite des exemples de code spécifiques. En tant que langage de programmation puissant et facile à apprendre, Python fournit de nombreuses fonctions intégrées pour gérer différentes structures de données. L'une d'elles est la fonction count(), qui peut être utilisée pour compter le nombre d'éléments dans une liste. Dans cet article, nous expliquerons en détail comment utiliser la fonction count() et fournirons des exemples de code spécifiques. La fonction count() est une fonction intégrée de Python, utilisée pour calculer un certain

Compter le nombre d'occurrences d'une sous-chaîne de manière récursive en Java Compter le nombre d'occurrences d'une sous-chaîne de manière récursive en Java Sep 17, 2023 pm 07:49 PM

Étant donné deux chaînes str_1 et str_2. Le but est de compter le nombre d'occurrences de la sous-chaîne str2 dans la chaîne str1 en utilisant une procédure récursive. Une fonction récursive est une fonction qui s'appelle dans sa définition. Si str1 est "Je sais que vous savez que je sais" et str2 est "savoir", le nombre d'occurrences est de -3 Comprenons à travers des exemples. Par exemple, entrez str1="TPisTPareTPamTP", str2="TP" ; sortie Countofoccurrencesofasubstringrecursi.

Comment utiliser la fonction Math.Pow en C# pour calculer la puissance d'un nombre spécifié Comment utiliser la fonction Math.Pow en C# pour calculer la puissance d'un nombre spécifié Nov 18, 2023 am 11:32 AM

En C#, il existe une bibliothèque de classes Math, qui contient de nombreuses fonctions mathématiques. Il s'agit notamment de la fonction Math.Pow, qui calcule les puissances, ce qui peut nous aider à calculer la puissance d'un nombre spécifié. L'utilisation de la fonction Math.Pow est très simple, il suffit de spécifier la base et l'exposant. La syntaxe est la suivante : Math.Pow(base,exponent) ; où base représente la base et exponent représente l'exposant. Cette fonction renvoie un résultat de type double, c'est-à-dire le résultat du calcul de puissance. Allons

Programme Java pour calculer l'aire d'un triangle à l'aide de déterminants Programme Java pour calculer l'aire d'un triangle à l'aide de déterminants Aug 31, 2023 am 10:17 AM

Introduction Le programme Java pour calculer l'aire d'un triangle à l'aide d'un déterminant est un programme concis et efficace qui peut calculer l'aire d'un triangle à partir des coordonnées de trois sommets. Ce programme est utile à toute personne qui apprend ou travaille avec la géométrie, car il montre comment utiliser les calculs arithmétiques et algébriques de base en Java, ainsi que comment utiliser la classe Scanner pour lire les entrées de l'utilisateur. Le programme demande à l'utilisateur les coordonnées de trois points du triangle, qui sont ensuite lues et utilisées pour calculer le déterminant de la matrice de coordonnées. Utilisez la valeur absolue du déterminant pour vous assurer que l'aire est toujours positive, puis utilisez une formule pour calculer l'aire du triangle et l'afficher à l'utilisateur. Le programme peut être facilement modifié pour accepter des entrées dans différents formats ou pour effectuer des calculs supplémentaires, ce qui en fait un outil polyvalent pour les calculs géométriques. rangs de déterminants

Options de carte mère ASUS compatibles avec R55600 (y compris R55600u et 5600h) Options de carte mère ASUS compatibles avec R55600 (y compris R55600u et 5600h) Jan 02, 2024 pm 05:32 PM

Quelle carte mère ASUS faut-il associer au R55600 ? La carte mère ASUS ROGStrixB550-FGaming est un excellent choix. Il est parfaitement compatible avec le processeur Ryzen55600X et offre d'excellentes performances et fonctionnalités. Cette carte mère dispose d'un système d'alimentation fiable, peut prendre en charge l'overclocking et fournit une multitude d'emplacements et de ports d'extension pour répondre aux besoins quotidiens d'utilisation et de jeu. Le ROGStrixB550-FGaming est également équipé de solutions audio de haute qualité, de connexions réseau rapides et d'une conception de dissipation thermique fiable pour garantir que le système reste efficace et stable. De plus, cette carte mère adopte également le magnifique style ROG et est équipée de superbes effets d'éclairage RVB, ajoutant du plaisir visuel à votre ordinateur. Dans l’ensemble, ASUS ROGStri

Lequel est le meilleur, Celeron g4900 ou i36100 ? (Lequel est le meilleur, Celeron g4900 ou i34170 ?) Lequel est le meilleur, Celeron g4900 ou i36100 ? (Lequel est le meilleur, Celeron g4900 ou i34170 ?) Jan 01, 2024 pm 06:01 PM

Lequel est le meilleur, Celeron g4900 ou i36100 ? En ce qui concerne les deux processeurs Celeron G4900 et I36100, il ne fait aucun doute que les performances du I36100 sont supérieures. Les processeurs Celeron sont généralement considérés comme des processeurs bas de gamme et sont principalement utilisés dans les ordinateurs portables économiques. Le processeur I3 est principalement utilisé pour les processeurs haut de gamme et ses performances sont très bonnes. Que vous jouiez à des jeux ou regardiez des vidéos, vous ne rencontrerez aucun décalage lors de l'utilisation du processeur I3. Par conséquent, si vous le pouvez, essayez d'acheter des processeurs Intel de la série I, en particulier pour les ordinateurs de bureau, afin de pouvoir profiter du plaisir du monde en ligne. Quelles sont les performances du Celeron G4900T ? Du point de vue des performances, le Pentium G4900T fonctionne bien en termes de fréquence. Par rapport à la version précédente, les performances du processeur sont.

See all articles