Heim > Backend-Entwicklung > C++ > Hauptteil

C++-Programm, um die Mindestanzahl an Operationen zu ermitteln, die erforderlich sind, um eine Zahl auf 0 zu setzen

王林
Freigeben: 2023-08-26 14:01:14
nach vorne
830 Leute haben es durchsucht

C++-Programm, um die Mindestanzahl an Operationen zu ermitteln, die erforderlich sind, um eine Zahl auf 0 zu setzen

Angenommen, wir haben eine numerische Zeichenfolge S mit n Ziffern. Angenommen, S stellt eine Digitaluhr dar und die gesamte Zeichenfolge zeigt Ganzzahlen von 0 bis 10^n - 1 an. Bei weniger Ziffern werden führende Nullen angezeigt. Befolgen Sie diese Schritte:

  • dekrementieren Sie die Zahl auf der Uhr um 1 oder

  • vertauschen Sie die beiden Ziffern p>

Wir möchten, dass die Uhr mit der minimalen Anzahl von Betätigungen 0 anzeigt. Wir müssen die Anzahl der Operationen berechnen, die erforderlich sind, um diesen Vorgang abzuschließen.

Wenn die Eingabe also etwa S = „1000“ ist, ist die Ausgabe 2, da wir die erste 1 mit der letzten 0 austauschen können, sodass die Zeichenfolge „0001“ lautet. Subtrahieren Sie nun 1, um „0000“ zu erhalten.

Schritte

Um dieses Problem zu lösen, folgen wir den folgenden Schritten -

n := size of S
x := digit at place S[n - 1]
for initialize i := 0, when i <= n - 2, update (increase i by 1), do:
   if S[i] is not equal to &#39;0&#39;, then:
      x := x + (digit at place S[i]) + 1
return x
Nach dem Login kopieren

Beispiel

Sehen wir uns zum besseren Verständnis die folgende Implementierung an -

#include <bits/stdc++.h>
using namespace std;

int solve(string S) {
   int n = S.size();
   int x = S[n - 1] - &#39;0&#39;;
   for (int i = 0; i <= n - 2; i++)
      if (S[i] != &#39;0&#39;)
         x = x + S[i] + 1 - &#39;0&#39;;
   return x;
}
int main() {
   string S = "1000";
   cout << solve(S) << endl;
}
Nach dem Login kopieren

Eingabe

"1000"
Nach dem Login kopieren

Ausgabe

2
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonC++-Programm, um die Mindestanzahl an Operationen zu ermitteln, die erforderlich sind, um eine Zahl auf 0 zu setzen. 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