Inhaltsverzeichnis
Grammatik
Methode 2
Algorithmus
Beispiel
Ausgabe
Erklärung
Fazit
Heim Backend-Entwicklung C++ Prüfen Sie, ob die maximale Summe der sichtbaren Flächen von N Würfeln mindestens X beträgt

Prüfen Sie, ob die maximale Summe der sichtbaren Flächen von N Würfeln mindestens X beträgt

Sep 16, 2023 pm 02:13 PM
Höchstsumme Würfel Treffen kann

Prüfen Sie, ob die maximale Summe der sichtbaren Flächen von N Würfeln mindestens X beträgt

Effizienz und Genauigkeit sind oft entscheidend bei der Lösung komplexer Probleme in der Programmierung. Eine besondere Herausforderung besteht darin, angemessen zu bestimmen, ob die maximale Summe der sichtbaren Flächen von N Würfeln gleich oder größer als X ist. In diesem Artikel bewerten wir verschiedene Ansätze zur Lösung dieser Schwierigkeit bei der C++-Codierung, einschließlich Syntaxerklärungen und Schritt-für-Schritt-Algorithmen. Darüber hinaus werden wir zwei echte, vollständig ausführbare Codebeispiele bereitstellen, die auf dem vorgeschlagenen Ansatz basieren. Am Ende werden Sie ein klares Verständnis dafür haben, wie Sie in C++ prüfen, ob die maximale Summe der sichtbaren Flächen von N Würfeln mindestens X beträgt.

Grammatik

Bevor wir uns mit diesen Methoden befassen, wollen wir zunächst die Syntax der Methoden verstehen, die wir im folgenden Code verwenden werden -

bool checkVisibleSum(int N, int X, vector<int>& dice);
Nach dem Login kopieren

Methode 1

Algorithmus

  • Zuerst initialisieren Sie eine Variable „visibleSum“ auf 0. Diese Variable speichert die Summe der sichtbaren Gesichter.

  • Durchlaufen Sie jedes Element im Würfelvektor.

  • Ordnen Sie für jeden Würfel die Gesichter in absteigender Reihenfolge an.

  • Fügen Sie die größte Fläche (das erste Element nach der Sortierung) zur sichtbaren Summe hinzu.

  • Wenn die sichtbare Summe zu irgendeinem Zeitpunkt größer oder gleich X wird, wird „true“ zurückgegeben.

  • Wenn nach Abschluss der Iteration keine sichtbare Summe größer oder gleich X gefunden wird, wird „false“ zurückgegeben.

Beispiel

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool checkVisibleSum(int N, int X, vector<vector<int>>& dice) {
   int visibleSum = 0;

   for (int i = 0; i < dice.size(); i++) {
      sort(dice[i].rbegin(), dice[i].rend());
      visibleSum += dice[i][0];

      if (visibleSum >= X)
         return true;
   }

   return false;
}

int main() {
   int N = 2; // Number of dice

   vector<vector<int>> dice(N);
   dice[0] = {6, 5, 4}; // Faces of dice 1
   dice[1] = {3, 2, 1}; // Faces of dice 2

   int X = 15; // Minimum sum (X)

   if (checkVisibleSum(N, X, dice))
      cout << "The maximum sum of visible faces of the dice is at least " << X << ".\n";
   else
      cout << "The maximum sum of visible faces of the dice is not at least " << X << ".\n";

   return 0;
}
Nach dem Login kopieren

Ausgabe

The maximum sum of visible faces of the dice is not at least 15.
Nach dem Login kopieren
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

In diesem Code definieren wir zunächst die Funktion checkVisibleSum, die drei Parameter akzeptiert: N (die Anzahl der Würfel), X (die Mindestsumme) und dice (ein Vektor, der den Vektor der Würfelflächen darstellt).

checkVisibleSum-Funktion implementiert Methode 1. Es initialisiert eine Variable „visibleSum“ auf 0, die zum Speichern der Summe der sichtbaren Flächen verwendet wird. Anschließend wird über jeden Würfel im Würfelvektor iteriert. Für jeden Würfel werden die Gesichter mithilfe von sort(dice[i].rbegin(), dice[i].rend()) in absteigender Reihenfolge sortiert. Dadurch wird sichergestellt, dass sich die größte Fläche am Anfang des sortierten Vektors befindet.

Dann fügt der Code die größte Seite des aktuellen Würfels zu VisibleSum hinzu, indem er VisibleSum += Dice[i][0] verwendet. Mithilfe dieser Funktion können bestimmte Ereignisse, die in einer bestimmten Situation auftreten können, besser verstanden werden.

Dies lässt sich daran erkennen, dass analysiert wird, ob eine bestimmte sichtbare Summe an verschiedenen Punkten während der Analyse X überschreitet oder gleich X ist. Wenn diese Möglichkeit während der Durchführung der Studie entdeckt wird – was normalerweise durch ein tatsächliches Ergebnis angezeigt wird –, können sie mit einem gewissen Grad an Sicherheit schlussfolgern, dass die maximale Anzahl beobachtbarer Merkmale gleich oder größer ist als ihre ursprüngliche Absicht, X zu überschreiten.

Umgekehrt, wenn sie diese Statistik nach einigen relevanten Iterationen und Berechnungen der Erkundung immer noch nicht finden können, dann gibt es offensichtlich noch weitere unbeantwortete Fragen.

In der Hauptfunktion fordern wir den Benutzer auf, die Anzahl der Würfel (N) einzugeben. Wir erstellen einen Vektor von Vektoren namens Würfel, um die Gesichter jedes Würfels zu speichern. Anschließend iterieren wir N-mal und fragen den Benutzer für jeden Würfel nach der Anzahl der Flächen und den Flächen selbst. Diese Werte speichern wir im Würfelvektor.

Als nächstes bitten wir den Benutzer, den Mindestbetrag (X) einzugeben. Wir übergeben N, X und Würfel an die Funktion checkVisibleSum. Wir werden dementsprechend die Botschaft übermitteln, dass die maximal mögliche Summe der sichtbaren Würfelflächen gleich oder größer als X ist. Entgegen der positiven Aussicht auf diese Situation werden wir jedoch wahrscheinlich Wissen veröffentlichen, weil wir erfahren, dass die Funktion tatsächlich unerwünschte Ergebnisse im Zusammenhang mit X erzeugt.

Methode 2

Algorithmus

  • Zuerst initialisieren Sie eine Variable „visibleSum“ auf 0. Diese Variable speichert die Summe der sichtbaren Gesichter.

  • Durchlaufen Sie jedes Element im Würfelvektor.

  • Ordnen Sie für jeden Würfel die Gesichter in absteigender Reihenfolge an.

  • Berechnen Sie die Summe der ersten N-1 Flächen (mit Ausnahme der größten Fläche) und addieren Sie sie zur sichtbaren Summe.

  • Gib „true“ zurück, wenn die sichtbare Summe größer oder gleich X wird.

  • Wenn nach Abschluss der Iteration keine sichtbare Summe größer oder gleich X gefunden wird, wird „false“ zurückgegeben.

Beispiel

#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>

using namespace std;

bool checkVisibleSum(int N, int X, vector<vector<int>>& dice) {
   int visibleSum = 0;

   for (int i = 0; i < dice.size(); i++) {
      sort(dice[i].rbegin(), dice[i].rend());
      int sum = accumulate(dice[i].begin(), dice[i].end() - 1, 0);
      visibleSum += sum;

      if (visibleSum >= X)
         return true;
   }

   return false;
}

int main() {
   int N = 2; // Number of dice

   vector<vector<int>> dice(N);
   dice[0] = {6, 5, 4}; // Faces of dice 1
   dice[1] = {3, 2, 1}; // Faces of dice 2

   int X = 15; // Minimum sum (X)

   if (checkVisibleSum(N, X, dice))
      cout << "The maximum sum of visible faces of the dice is at least " << X << ".\n";
   else
      cout << "The maximum sum of visible faces of the dice is not at least " << X << ".\n";

   return 0;
}
Nach dem Login kopieren

Ausgabe

The maximum sum of visible faces of the dice is at least 15.
Nach dem Login kopieren
Die chinesische Übersetzung von

Erklärung

lautet:

Erklärung

In diesem Code haben wir dieselbe checkVisibleSum-Funktion wie in der ersten Methode. Der wesentliche Unterschied liegt jedoch in der Berechnung der sichtbaren Summe.

Methode 2 summiert die ersten N-1 Seiten jedes Würfels, mit Ausnahme der größten Seite. Um dies zu erreichen, verwenden wir die Akkumulationsfunktion aus der -Bibliothek. Wir übergeben dice[i].begin() und dice[i].begin() + N - 1 als zu akkumulierenden Bereich und summieren effektiv über die erforderlichen Flächen.

Der Rest des Codes in der Hauptfunktion ist der gleiche wie im vorherigen Beispiel.

Fazit

In diesem Artikel dreht sich unser Thema um die Lösung einer wichtigen Frage zur C++-Codierung. Wie kann man genau feststellen, ob die Summe der größten sichtbaren Flächen eines gegebenen Würfelsatzes (N) mindestens X beträgt? Um diese Frage am besten zu beantworten, haben wir zwei praktische Lösungen gefunden: Stellen Sie erstens sicher, dass die Summe der Ergebnisse jedes Würfelwurfs gleich oder größer als X ist. Zweitens bewerten Sie nur die Summe der ersten N-1-Würfelwürfe und stellen Sie fest, ob sie übereinstimmen oder X überschreiten. Darüber hinaus bieten wir Code-Setup für jede Methode und detaillierte Anleitungen zur Durchführung dieser Verfahren. Zusätzlich stellen wir zwei echte, vollständig ausführbare Codebeispiele zur Verfügung, die auf diesen Methoden basieren. Durch die Nutzung des in diesem Artikel bereitgestellten Wissens und Codes können Sie jetzt sicher das Problem lösen, festzustellen, ob die Summe der größten sichtbaren Flächen von N Würfeln in der C++-Programmierung mindestens X beträgt.

Das obige ist der detaillierte Inhalt vonPrüfen Sie, ob die maximale Summe der sichtbaren Flächen von N Würfeln mindestens X beträgt. 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 Artikel -Tags

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)

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert? Mar 03, 2025 pm 05:52 PM

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte Mar 03, 2025 pm 05:53 PM

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

GULC: C -Bibliothek von Grund auf neu gebaut GULC: C -Bibliothek von Grund auf neu gebaut Mar 03, 2025 pm 05:46 PM

GULC: C -Bibliothek von Grund auf neu gebaut

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die? Mar 03, 2025 pm 05:53 PM

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Wo ist der Rückgabewert der C -Sprachfunktion im Speicher? Mar 03, 2025 pm 05:51 PM

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe eindeutiger Gebrauch und Phrasenfreigabe Mar 03, 2025 pm 05:51 PM

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient? Mar 12, 2025 pm 04:52 PM

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)? Mar 12, 2025 pm 04:50 PM

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

See all articles