Heim > Backend-Entwicklung > C++ > Hauptteil

Maximale Anzahl an Süßigkeiten, die gekauft werden können

王林
Freigeben: 2023-08-29 23:33:06
nach vorne
1232 Leute haben es durchsucht

Maximale Anzahl an Süßigkeiten, die gekauft werden können

Wir erhalten ein Candy[]-Array, dessen Länge in „size“ gespeichert ist. Jedes Element candies[i] hat eine Nummer für ein Bonbon vom Typ i. Ziel ist es, mit einem beliebigen Geldbetrag so viele Süßigkeiten wie möglich zu kaufen. Die Bedingungen sind wie folgt:

Wenn Sie X[i] vom Typ i (0

  • X(j)

  • Eingabe

    - Arr[] = { 1,3,5,2,6,7}.

Ausgabe

– Maximale Bonbons, die gekauft werden können – 16

Erklärung – Bonbons des Kauftyps i { 0,3,5,2,6,0 }

>Eingabe – Arr[] = { 5,7,7,3,4}.

Ausgabe – Maximale Süßigkeit, die gekauft werden kann – 10

Erklärung – Kauf von Süßigkeit vom Typ i { 0,0,7,3,0 }

Das folgende Programm verwendet folgende Methode:

Das ganzzahlige Array „bonbon[]“ wird zum Speichern der Anzahl der Bonbons vom Typ i verwendet.

Die Variable „size“ speichert die Länge der Array-Bonbons.

  • Die Funktion maxCandies(int arr[], int n) wird verwendet, um die Gesamtzahl der Süßigkeiten zurückzugeben, die gekauft werden können.

  • Nehmen wir zunächst an, wir haben die letzten Süßigkeiten gekauft. buy=arr[n-1]

  • Beginnend mit dem vorletzten Element, for(i=n-2;i>=0;i--)

  • Die Variable x speichert die Süßigkeiten, die gekauft werden können die aktuelle Typenmenge. x=arr[i] oder buy-1, je nachdem, welcher Wert kleiner ist.

  • Wenn x nicht Zeo ist, addiere es zur Gesamtsumme.

  • Wenn die Summe größer ist als der vorherige Kaufbetrag, Kauf = x.

  • Zurück zu den Kaufergebnissen.

  • Beispiel

  • Live-Demo
  • #include <stdio.h>
    int maxCandies(int arr[], int n){
       int bought = arr[n - 1];
       int total = bought;
       // Starting from second last
       for (int i = n - 2; i >= 0; i--) {
          // Amount of candies of the current
          // type that can be bought
          int x = arr[i]<bought-1?arr[i]:bought-1;
          if (x >= 0) {
             total += x;
             bought = x;
          }
       }
       return total;
    }
    int main(){
       int candies[] = { 1,2,4,3,7 };
       int size = 5;
       printf("Total Candies that can be bought: %d", maxCandies(candies, size));
       return 0;
    }
    Nach dem Login kopieren

    Ausgabe

  • Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert:
    Total Candies that can be bought: 13
    Nach dem Login kopieren

    Das obige ist der detaillierte Inhalt vonMaximale Anzahl an Süßigkeiten, die gekauft werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:tutorialspoint.com
    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
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage