Heim >Backend-Entwicklung >C++ >Ordnen Sie in C++ eine Zahl neu an, die auch dadurch neu angeordnet werden kann
Wir erhalten eine Zahl vom Typ Ganzzahl, vorausgesetzt, es handelt sich um eine Zahl. Die Aufgabe besteht darin, die Ziffern einer Zahl so umzuordnen, dass die neu angeordneten Zahlen auch durch die gegebene Zahl teilbar sind.
Eingabe - int Zahl = 100035
Ausgabe - Die Zahl, die nach der Neuanordnung durch Zahl geteilt werden kann, ist: 300105
Erklärung - Wir geben eine Ganzzahl, also 100035. Die Aufgabe besteht nun darin, diese gegebenen Zahlen so umzuordnen, dass die gebildete Zahl durch eine Zahl teilbar ist 100035. Nachdem wir die Zahlen neu angeordnet haben, erhalten wir 300105, die durch die Zahl 100035 teilbar ist.
Eingabe - int Zahl = 1000035
Ausgabe - Die neu angeordnete Zahl ist auch durch sie teilbar: 3000105
Erklärung - Wir erhalten eine Ganzzahl „Zahl“, die 1000035 ist. Die Aufgabe besteht nun darin, diese gegebenen Zahlen so umzuordnen, dass die gebildete Zahl durch 1000035 teilbar ist. Nachdem wir die Zahlen neu angeordnet haben, erhalten wir 3000105, die durch die Zahl 1000035 teilbar ist.
Eingabe - int Zahl = 28
Ausgabe - Die neu angeordnete Zahl ist auch durch sie teilbar: -1
Erklärung - Wir erhalten eine Ganzzahl „Zahl“, die 28 ist. Die Aufgabe besteht nun darin, diese vorgegebenen Zahlen so umzuordnen, dass die gebildete Zahl durch 28 teilbar ist. Nachdem wir die Zahlen neu angeordnet haben, erhalten wir 82, die nicht durch die Zahl 28 teilbar ist, sodass die Ausgabe -1 ist.
Geben Sie eine Variable vom Typ Integer ein, vorausgesetzt, es handelt sich um eine Zahl, und übergeben Sie die Daten an die Funktion Rearrangement(number).
Erstellen Sie in der Funktion Rearrangement(number)
eine Vektorvariable, die eine Variable vom Typ Integer speichert, vorausgesetzt, es handelt sich um vec(10, 0).
Rufen Sie die Funktion total_count(number, vec) auf und übergeben Sie number und vec als Parameter an die Funktion.
Beginnen Sie mit einer Schleife von i bis 2, bis i weniger als 10 beträgt. Setzen Sie innerhalb der Schleife temp auf number * i.
Erstellen Sie eine Vektorvariable, die eine Variable vom Typ Integer speichert, vorausgesetzt, es handelt sich um vec_2(10, 0).
Rufen Sie die Funktion total_count(number, vec_2) auf und übergeben Sie number und vec_2 als Parameter an die Funktion.
Überprüfen Sie, ob gleich(vec.begin(), vec.end(), vec_2.begin()), und geben Sie dann temp zurück. Andernfalls wird -1 zurückgegeben.
In der Funktion total_count(int number, vector
startet die Schleife, wenn Zahl 1 ist. Setzen Sie innerhalb der Schleife vec_3 auf vec_3[Nummer % 10]++ und Nummer auf Nummer/10.
#include<bits/stdc++.h> using namespace std; void total_count(int number, vector<int> &vec_3){ while(number){ vec_3[number % 10]++; number = number / 10; } } int Rearrangement(int number){ vector<int> vec(10, 0); total_count(number, vec); for(int i = 2; i < 10; i++){ int temp = number * i; vector<int> vec_2(10, 0); total_count(temp, vec_2); if(equal(vec.begin(), vec.end(), vec_2.begin())){ return temp; } } return -1; } int main(){ int number = 100035; cout<<"Rearrangement of a number which is also divisible by it is: "<<Rearrangement(number); return 0; }
Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert
Rearrangement of a number which is also divisible by it is: 300105
Das obige ist der detaillierte Inhalt vonOrdnen Sie in C++ eine Zahl neu an, die auch dadurch neu angeordnet werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!