Heim >Backend-Entwicklung >C++ >Entfernen Sie doppelte Ziffern aus einer bestimmten Zahl mit C++

Entfernen Sie doppelte Ziffern aus einer bestimmten Zahl mit C++

WBOY
WBOYnach vorne
2023-09-01 20:17:06822Durchsuche

Entfernen Sie doppelte Ziffern aus einer bestimmten Zahl mit C++

In diesem Artikel wird uns eine Zahl n gegeben und wir müssen doppelte Zahlen in der gegebenen Zahl entfernen.

Input: x = 12224
Output: 124

Input: x = 124422
Output: 1242

Input: x = 11332
Output: 132

In der gegebenen Aufgabe gehen wir alle Zahlen durch und entfernen die Duplikate.

Methode zum Finden der Lösung

In der angegebenen Methode werden wir alle Zahlen (jetzt n Zahlen) von rechts nach links durchlaufen. Wir durchlaufen die Zahlen von n, indem wir n modulo 10 nehmen und dann n durch 10 dividieren. Jetzt ist unsere aktuelle Zahl n mod 10. Wir vergleichen es mit der vorherigen Nummer. Wenn die Zahlen gleich sind, iterieren wir nun über n. Wenn sie nicht ähnlich sind, fügen wir diese Nummer zur neuen Nummer hinzu, ändern die vorherige Nummer in die aktuelle Nummer und setzen die Schleife fort.

Beispiel

#include <bits/stdc++.h>

#define MOD 1000000007

using namespace std;

int main() {
   int n = 1222333232; // given n
   int new_n = 0; // new number
   int po = 1; // will b multiple of ten for new digits
   int prev = -1; // previous digit
   int curr; // current digit
   while(n) {
      curr = n % 10;
      if(prev != curr) { // if a digit is not repeated then we go in this block
         new_n = new_n + (curr * po); // we add a new digit to new_n
         po *= 10;
         prev = curr;
      }
      n /= 10;
   }
   cout << new_n << "\n";
   return 0;
}

Ausgabe

123232

Erklärung des obigen Codes

In der obigen Methode durchlaufen wir einfach die Zahlen von n und wenn unsere vorherige Zahl und die aktuelle Zahl nicht übereinstimmen, addieren wir diese Zahl zu unserer neuen Zahl , und wenn die Zahl hinzugefügt wird, fügen wir auch po hinzu, das für die Position unserer Zahl verwendet wird, wenn unsere aktuelle und vorherige Zahl übereinstimmen – wir führen diesen Codeblock nicht aus und fahren mit der Schleife fort, bis n 0 wird.

Fazit

In diesem Artikel haben wir das Problem gelöst, doppelte Ziffern aus einer bestimmten Nummer zu entfernen. Wir haben auch das C++-Programm für dieses Problem und unsere vollständige Methode zur Lösung dieses Problems (normale Methode) gelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben. Ich hoffe, Sie finden diesen Artikel hilfreich.

Das obige ist der detaillierte Inhalt vonEntfernen Sie doppelte Ziffern aus einer bestimmten Zahl mit C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen