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
Output: 65
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
Output: 1705
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
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; }
Sortie
Pairwise Product = 1155
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
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; }
Sortie
Pairwise Product = 1155
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!

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)

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

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

É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.

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

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

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 ? 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.
