Inhaltsverzeichnis
Problemstellung
Beispiel Beispiel 2
Erklärung
Methode 1: Brute-Force-Cracking-Methode
Pseudocode
Beispiel: C++-Implementierung
Ausgabe
Methode 2
Fazit
Heim Backend-Entwicklung C++ Die Summe der Produkte jedes Paares

Die Summe der Produkte jedes Paares

Sep 11, 2023 pm 07:33 PM
计算 乘积

Die Summe der Produkte jedes Paares

Das paarweise Produkt der Menge X = {a, b, c} kann als Summe der Produkte aller möglichen Mengenpaare definiert werden. Die Mengenpaare sind Y = {a * a, a * b, a *c, b * b, b * c, c * c}, wobei die Produkte kommutativ sind. Daher ist das paarweise Produkt einer Menge X die Summe der Elemente der Menge Y, also aa + ab + ac + bb + bc + cc.

Mathematisch kann die Summe möglicher paarweiser Produkte ausgedrückt werden als:

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

Problemstellung

Gegeben eine Zahl n. Ermitteln Sie die Summe der paarweisen Produkte im Bereich (1, n), einschließlich n und 1.

Beispiel Beispiel 1

Input: n = 4
Nach dem Login kopieren
Output: 65
Nach dem Login kopieren
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

i reicht von 1 bis 4, j reicht von i bis 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

Beispiel Beispiel 2

Input: n = 10
Nach dem Login kopieren
Output: 1705
Nach dem Login kopieren
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

i reicht von 1 bis 10, j reicht von i bis 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

Methode 1: Brute-Force-Cracking-Methode

Die Brute-Force-Lösung für dieses Problem besteht darin, zwei for-Schleifen zu verwenden, um alle möglichen Zahlenpaare im Bereich zu iterieren, wobei die erste Schleife von 1 bis n und die zweite Schleife von der ersten Zahl bis n iteriert.

Pseudocode

procedure pairwiseProduct (n)
   sum = 0
   for i = 1 to n
      for j = i to n
         sum = sum + (i * j)
end procedure
Nach dem Login kopieren

Beispiel: C++-Implementierung

Im folgenden Programm finden wir alle möglichen Paare und ermitteln dann die Summe der Produkte.

#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;
}
Nach dem Login kopieren

Ausgabe

Pairwise Product = 1155
Nach dem Login kopieren
Nach dem Login kopieren

Zeitkomplexität – O(n^2)

Raumkomplexität – O(1)

Methode 2

Nehmen Sie n = 4 als Beispiel,

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

Um das oben Gesagte zu vereinfachen:

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

Nehmen Sie prefix_sum[1] = 1,

Präfixsumme[2] = 1+2,

Summe der Präfixe[3] = 1+2+3,

Präfixsumme[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
Nach dem Login kopieren

Beispiel: C++-Implementierung

Im folgenden Programm ermitteln wir die Summe jeder Iteration, die Präfixsumme, multiplizieren sie mit der Anzahl der Iterationen und addieren sie dann bei jedem Schritt zur Endsumme.

#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;
}
Nach dem Login kopieren

Ausgabe

Pairwise Product = 1155
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

Kurz gesagt, um die Summe der paarweisen Produkte von Zahlen im Bereich von 1 bis n zu lösen, können wir eine der beiden oben genannten Methoden verwenden, die erste Methode ist die Brute-Force-Methode und die Zeitkomplexität beträgt O(n^). 2) Die zweite Methode ist eine Optimierungsmethode, die die Präfixsumme verwendet, um die Summe zweier Produkte zu berechnen, und die Zeitkomplexität beträgt O (n).

Das obige ist der detaillierte Inhalt vonDie Summe der Produkte jedes Paares. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So berechnen Sie Addition, Subtraktion, Multiplikation und Division in einem Word-Dokument So berechnen Sie Addition, Subtraktion, Multiplikation und Division in einem Word-Dokument Mar 19, 2024 pm 08:13 PM

WORD ist ein leistungsstarkes Textverarbeitungsprogramm, mit dem wir verschiedene Texte in Excel bearbeiten können. Wir beherrschen die Berechnungsmethoden der Addition, Subtraktion und Multiplikatoren. Wie subtrahiere ich den Multiplikator? Kann ich ihn nur mit einem Taschenrechner berechnen? Die Antwort ist natürlich nein, WORD kann das auch. Heute werde ich Ihnen beibringen, wie Sie mit Formeln grundlegende Operationen wie Addition, Subtraktion, Multiplikation und Division in Tabellen in Word-Dokumenten berechnen. Lassen Sie mich heute im Detail zeigen, wie man Addition, Subtraktion, Multiplikation und Division in einem WORD-Dokument berechnet. Schritt 1: Öffnen Sie ein WORD, klicken Sie in der Symbolleiste unter [Einfügen] auf [Tabelle] und fügen Sie eine Tabelle in das Dropdown-Menü ein.

CUDAs universelle Matrixmultiplikation: vom Einstieg bis zur Kompetenz! CUDAs universelle Matrixmultiplikation: vom Einstieg bis zur Kompetenz! Mar 25, 2024 pm 12:30 PM

Die allgemeine Matrixmultiplikation (GEMM) ist ein wesentlicher Bestandteil vieler Anwendungen und Algorithmen und außerdem einer der wichtigen Indikatoren zur Bewertung der Leistung der Computerhardware. Eingehende Forschung und Optimierung der Implementierung von GEMM können uns helfen, Hochleistungsrechnen und die Beziehung zwischen Software- und Hardwaresystemen besser zu verstehen. In der Informatik kann eine effektive Optimierung von GEMM die Rechengeschwindigkeit erhöhen und Ressourcen einsparen, was für die Verbesserung der Gesamtleistung eines Computersystems von entscheidender Bedeutung ist. Ein tiefgreifendes Verständnis des Funktionsprinzips und der Optimierungsmethode von GEMM wird uns helfen, das Potenzial moderner Computerhardware besser zu nutzen und effizientere Lösungen für verschiedene komplexe Computeraufgaben bereitzustellen. Durch Optimierung der Leistung von GEMM

So zählen Sie die Anzahl der Elemente in einer Liste mit der Funktion count() von Python So zählen Sie die Anzahl der Elemente in einer Liste mit der Funktion count() von Python Nov 18, 2023 pm 02:53 PM

Um die Anzahl der Elemente in einer Liste mit der Funktion count() von Python zu zählen, sind bestimmte Codebeispiele erforderlich. Als leistungsstarke und leicht zu erlernende Programmiersprache bietet Python viele integrierte Funktionen zur Verarbeitung unterschiedlicher Datenstrukturen. Eine davon ist die Funktion count(), mit der sich die Anzahl der Elemente in einer Liste zählen lässt. In diesem Artikel erklären wir die Verwendung der count()-Funktion im Detail und stellen spezifische Codebeispiele bereit. Die Funktion count() ist eine in Python integrierte Funktion, mit der ein bestimmter Wert berechnet wird

So verwenden Sie die Math.Pow-Funktion in C#, um die Potenz einer bestimmten Zahl zu berechnen So verwenden Sie die Math.Pow-Funktion in C#, um die Potenz einer bestimmten Zahl zu berechnen Nov 18, 2023 am 11:32 AM

In C# gibt es eine Math-Klassenbibliothek, die viele mathematische Funktionen enthält. Dazu gehört die Funktion Math.Pow, die Potenzen berechnet und uns dabei helfen kann, die Potenz einer bestimmten Zahl zu berechnen. Die Verwendung der Math.Pow-Funktion ist sehr einfach, Sie müssen lediglich die Basis und den Exponenten angeben. Die Syntax lautet wie folgt: Math.Pow(base,exponent); wobei base die Basis und exponent den Exponenten darstellt. Diese Funktion gibt ein Ergebnis vom Typ Double zurück, nämlich das Ergebnis der Leistungsberechnung. Lasst uns

Zählen Sie rekursiv die Anzahl der Vorkommen eines Teilstrings in Java Zählen Sie rekursiv die Anzahl der Vorkommen eines Teilstrings in Java Sep 17, 2023 pm 07:49 PM

Gegeben seien zwei Strings str_1 und str_2. Das Ziel besteht darin, mithilfe eines rekursiven Verfahrens die Anzahl der Vorkommen der Teilzeichenfolge str2 in der Zeichenfolge str1 zu zählen. Eine rekursive Funktion ist eine Funktion, die sich innerhalb ihrer Definition selbst aufruft. Wenn str1 „Iknowthatyouknowthatiknow“ und str2 „know“ ist, beträgt die Anzahl der Vorkommen -3. Lassen Sie uns das anhand von Beispielen verstehen. Geben Sie beispielsweise str1="TPisTPareTPamTP", str2="TP" ein; geben Sie Countofoccurrencesofasubstringrecursi aus

Mit R55600 kompatible ASUS-Motherboard-Optionen (einschließlich R55600u und 5600h) Mit R55600 kompatible ASUS-Motherboard-Optionen (einschließlich R55600u und 5600h) Jan 02, 2024 pm 05:32 PM

Welches ASUS-Motherboard sollte mit dem R55600 gekoppelt werden? Das ASUS ROGStrixB550-FGaming-Motherboard ist eine ausgezeichnete Wahl. Es ist perfekt mit dem Ryzen55600X-Prozessor kompatibel und bietet hervorragende Leistung und Funktionen. Dieses Motherboard verfügt über ein zuverlässiges Stromversorgungssystem, unterstützt Übertaktung und bietet eine Fülle von Erweiterungssteckplätzen und Anschlüssen für den täglichen Gebrauch und Gaming-Anforderungen. ROGStrixB550-FGaming ist außerdem mit hochwertigen Audiolösungen, schnellen Netzwerkverbindungen und einem zuverlässigen Wärmeableitungsdesign ausgestattet, um sicherzustellen, dass das System effizient und stabil bleibt. Darüber hinaus übernimmt dieses Motherboard auch den wunderschönen ROG-Stil und ist mit wunderschönen RGB-Lichteffekten ausgestattet, die Ihrem Computer ein visuelles Vergnügen verleihen. Alles in allem ASUS ROGStri

Was ist besser, Celeron g4900 oder i36100? (Welches ist besser, Celeron g4900 oder i34170?) Was ist besser, Celeron g4900 oder i36100? (Welches ist besser, Celeron g4900 oder i34170?) Jan 01, 2024 pm 06:01 PM

Welcher ist besser, Celeron g4900 oder i36100? Wenn es um die beiden Prozessoren Celeron G4900 und I36100 geht, besteht kein Zweifel daran, dass die Leistung des I36100 überlegen ist. Celeron-Prozessoren gelten im Allgemeinen als Low-End-Prozessoren und werden hauptsächlich in preisgünstigen Laptops verwendet. Der I3-Prozessor wird hauptsächlich für High-End-Prozessoren verwendet und weist eine sehr gute Leistung auf. Unabhängig davon, ob Sie Spiele spielen oder Videos ansehen, treten bei Verwendung des I3-Prozessors keine Verzögerungen auf. Versuchen Sie daher nach Möglichkeit, insbesondere für Desktop-Computer, Prozessoren der Intel I-Serie zu kaufen, damit Sie den Spaß an der Online-Welt genießen können. Wie ist die Leistung des Celeron G4900T? Aus Leistungssicht schneidet der Pentium G4900T im Vergleich zur Vorgängerversion gut ab

Java-Programm zur Berechnung der Fläche eines Dreiecks mithilfe von Determinanten Java-Programm zur Berechnung der Fläche eines Dreiecks mithilfe von Determinanten Aug 31, 2023 am 10:17 AM

Einführung Das Java-Programm zur Berechnung der Fläche eines Dreiecks mithilfe der Determinante ist ein prägnantes und effizientes Programm, das die Fläche eines Dreiecks anhand der Koordinaten von drei Eckpunkten berechnen kann. Dieses Programm ist für jeden nützlich, der Geometrie erlernt oder damit arbeitet, da es zeigt, wie man grundlegende arithmetische und algebraische Berechnungen in Java verwendet und wie man die Scanner-Klasse zum Lesen von Benutzereingaben verwendet. Das Programm fordert den Benutzer zur Eingabe der Koordinaten von drei Punkten des Dreiecks auf, die dann eingelesen und zur Berechnung der Determinante der Koordinatenmatrix verwendet werden. Verwenden Sie den Absolutwert der Determinante, um sicherzustellen, dass die Fläche immer positiv ist. Verwenden Sie dann eine Formel, um die Fläche des Dreiecks zu berechnen und sie dem Benutzer anzuzeigen. Das Programm kann leicht modifiziert werden, um Eingaben in verschiedenen Formaten zu akzeptieren oder zusätzliche Berechnungen durchzuführen, was es zu einem vielseitigen Werkzeug für geometrische Berechnungen macht. Reihen von Determinanten

See all articles