


C/C++-Programm für einen gierigen Algorithmus zum Ermitteln der Mindestanzahl an Münzen
Der Greedy-Algorithmus ist ein Algorithmus, der verwendet wird, um die optimale Lösung für ein bestimmtes Problem zu finden. Der Greedy-Algorithmus funktioniert, indem er für jeden Teil eine lokal optimale Lösung findet (die optimale Lösung für einen Teil des Problems) und zeigt so, dass eine globale optimale Lösung gefunden werden kann.
In diesem Problem verwenden wir den Greedy-Algorithmus, um die Mindestanzahl an Münzen/Banknoten zu ermitteln, die eine bestimmte Summe bilden können. Dabei berücksichtigen wir alle gültigen Münzen oder Banknoten, also die Stückelungen { 1, 2, 5, 10, 20, 50, 100, 200, 500, 2000}. Wir müssen die Anzahl Münzen/Banknoten zurückgeben, die für die Summe erforderlich sind.
Lassen Sie uns ein paar Beispiele geben, um den Kontext besser zu verstehen –
Beispiel 1 –
Input : 1231 Output : 7
Erklärung – Wir benötigen zwei 500-Rupien-Scheine, zwei 100-Rupien-Scheine, einen 20-Rupien-Schein, einen 10-Rupien-Schein, Rupien-Banknoten und eine Re 1-Münze. Die Summe ist 2+2+1+1+1 = 7
Beispiel 2 –
Input : 2150 Output : 3
Anleitung – Wir benötigen einen 2000-Rs-Schein, einen 100-Rs-Schein und einen 50-Rs-Schein.
Um dieses Problem mithilfe eines Greedy-Algorithmus zu lösen, ermitteln wir die Banknote mit dem größten Nennwert, die verwendet werden kann. Anschließend subtrahieren wir den maximalen Nennwert von der Summe und wiederholen den gleichen Vorgang, bis die Summe Null ist.
Algorithmus
Input: sum, Initialise the coins = 0 Step 1: Find the largest denomination that can be used i.e. smaller than sum. Step 2: Add denomination two coins and subtract it from the Sum Step 3: Repeat step 2 until the sum becomes 0. Step 4: Print each value in coins.
Beispiel
Echtzeitdemonstration
#include <bits/stdc++.h> using namespace std; int notes[] = { 1, 2, 5, 10, 20, 50, 100, 200, 500, 2000 }; int n = sizeof(notes) / sizeof(notes[0]); void minchange(int sum){ vector<int> coins; for (int i = n - 1; i >= 0; i--) { while (sum >= notes[i]) { sum -= notes[i]; coins.push_back(notes[i]); } } for (int i = 0; i < coins.size(); i++) cout << coins[i] << "\t"; } int main(){ int n = 3253; cout << "The minimum number of coins/notes that sum up " << n << " is \t "; minchange(n); return 0; }
Ausgabe
The minimum number of coins/notes that sum up 3253 is 2000 500 500 200 50 2 1
Das obige ist der detaillierte Inhalt vonC/C++-Programm für einen gierigen Algorithmus zum Ermitteln der Mindestanzahl an Münzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So implementieren Sie den Greedy-Algorithmus in C# Der Greedy-Algorithmus (Greedy-Algorithmus) ist eine häufig verwendete Methode zur Problemlösung. Er wählt jedes Mal die aktuell optimale Lösung aus, in der Hoffnung, die globale optimale Lösung zu erhalten. In C# können wir Greedy-Algorithmen verwenden, um viele praktische Probleme zu lösen. In diesem Artikel wird die Implementierung des Greedy-Algorithmus in C# vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Grundprinzipien des Greedy-Algorithmus Die Grundidee des Greedy-Algorithmus besteht darin, jedes Mal die aktuell optimale Lösung auszuwählen, unabhängig von den möglichen Auswirkungen nachfolgender Schritte. Diese Art des Denkens

Wie implementiert man mithilfe des Greedy-Algorithmus eine effiziente Lösung für das Problem des geringsten Münzwechsels in PHP? Einleitung: Im täglichen Leben müssen wir oft Veränderungen vornehmen, insbesondere beim Einkaufen oder Handeln. Um möglichst wenig Münzen zu verbrauchen, sollte der Wechselbetrag mit möglichst wenigen Münzen zusammengefasst werden. In der Computerprogrammierung können wir einen gierigen Algorithmus verwenden, um dieses Problem zu lösen und eine effiziente Lösung zu erhalten. In diesem Artikel wird erläutert, wie Sie mit dem Greedy-Algorithmus in PHP eine effiziente Lösung für das Problem des minimalen Münzwechsels erreichen, und entsprechende Codebeispiele bereitstellen.

Die Funktion strcmp() ist eine integrierte Bibliotheksfunktion und wird in der Headerdatei „string.h“ deklariert. Diese Funktion wird zum Vergleichen der Zeichenfolgenargumente verwendet. Sie vergleicht Zeichenfolgen lexikografisch, was bedeutet, dass sie beide Zeichenfolgen Zeichen für Zeichen vergleicht. Sie startet comp

Der Ford-Fulkerson-Algorithmus ist ein Greedy-Algorithmus zur Berechnung der maximalen Durchflussrate in einem Netzwerk. Das Prinzip besteht darin, einen Erweiterungspfad mit einer positiven Restkapazität zu finden. Solange der Erweiterungspfad gefunden wird, können Sie weiterhin Pfade hinzufügen und den Verkehr berechnen. Bis der Verstärkungspfad nicht mehr vorhanden ist, kann die maximale Durchflussrate erreicht werden. Der Begriff „Restkapazität“ des Ford-Fulkerson-Algorithmus besteht darin, den Fluss von der Kapazität zu subtrahieren. Beim Ford-Fulkerson-Algorithmus ist die verbleibende Kapazität eine positive Zahl, bevor sie weiterhin als Pfad verwendet werden kann. Restnetzwerk: Es handelt sich um ein Netzwerk mit denselben Scheitelpunkten und Kanten, das die Restkapazität als Kapazität verwendet. Erweiterter Pfad: Dies ist der Pfad vom Quellpunkt zum Empfangspunkt im Restdiagramm mit einer Endkapazität von 0. Ein möglicher Überblick über das Prinzip des Ford-Fulkerson-Algorithmus, Beispiel

fseek() wird in der C-Sprache verwendet, um den Dateizeiger an einen bestimmten Ort zu verschieben. Offsets und Streams sind die Ziele von Zeigern und werden in Funktionsargumenten angegeben. Bei Erfolg wird Null zurückgegeben. Wenn dies nicht gelingt, wird ein Wert ungleich Null zurückgegeben. Das Folgende ist die Syntax von fseek() in der C-Sprache: intfseek(FILE*stream,longintoffset,intwhence) Hier sind die in fseek() verwendeten Parameter: stream− Dies ist der Zeiger, der zur Identifizierung des Streams verwendet wird. offset - Dies ist die Anzahl der Bytes ab der Position. wherece-Hier wird der Offset hinzugefügt. woher wird durch die folgenden Konstanten gegeben

Wie implementiert man einen gierigen Algorithmus mit Python? Der Greedy-Algorithmus ist ein einfacher und effektiver Algorithmus, der sich zur Lösung von Problemen mit optimalen Unterstruktureigenschaften eignet. In jedem Auswahlschritt wird die aktuell beste Wahl getroffen, in der Hoffnung, die global optimale Lösung zu finden. In diesem Artikel stellen wir anhand spezifischer Codebeispiele vor, wie Python zum Implementieren des Greedy-Algorithmus verwendet wird. 1. Die Grundidee des Greedy-Algorithmus Die Grundidee des Greedy-Algorithmus besteht darin, in jedem Schritt die optimale Lösung im aktuellen Zustand auszuwählen und dann

So schreiben Sie mit PHP einen Greedy-Algorithmus. Der Greedy-Algorithmus (Greedy-Algorithmus) ist ein einfacher und effektiver Algorithmus, der zur Lösung einer Art Optimierungsproblem verwendet wird. Die Grundidee besteht darin, bei jedem Schritt die Wahl zu treffen, die im Moment am besten erscheint, ohne Rücksicht auf zukünftige Konsequenzen. In diesem Artikel wird vorgestellt, wie man mit PHP einen Greedy-Algorithmus schreibt, und relevante Codebeispiele bereitgestellt. 1. Problembeschreibung Bevor wir den Greedy-Algorithmus erklären, definieren wir zum besseren Verständnis zunächst ein spezifisches Problem. Angenommen, es gibt eine Reihe von Aufgaben, jede Aufgabe hat einen Anfang

Der Greedy-Algorithmus ist eine häufig verwendete Algorithmusidee und wird häufig bei vielen Problemen eingesetzt. Der Kerngedanke besteht darin, bei der Entscheidungsfindung in jedem Schritt nur die unmittelbar optimale Lösung zu berücksichtigen, ohne die langfristigen Auswirkungen zu berücksichtigen. In C++ umfasst die Implementierung gieriger Algorithmen häufig grundlegende Operationen wie Sortieren und Datenverarbeitung. Im Folgenden stellen wir die Idee des Greedy-Algorithmus und seine Implementierung in C++ für mehrere typische Probleme vor. 1. Aktivitätsplanungsproblem Bei einer Reihe von Aktivitäten hat jede Aktivität ihre Start- und Endzeit, und eine Person kann jeweils nur an einer Aktivität teilnehmen.
