Heim > Backend-Entwicklung > C++ > Ein rekursives Programm gibt alle Zahlen kleiner als N aus, die nur aus den Ziffern 1 oder 3 bestehen

Ein rekursives Programm gibt alle Zahlen kleiner als N aus, die nur aus den Ziffern 1 oder 3 bestehen

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

Ein rekursives Programm gibt alle Zahlen kleiner als N aus, die nur aus den Ziffern 1 oder 3 bestehen

Wir erhalten eine Ganzzahlvariable als N, die den positiven Ganzzahltypwert speichert. Die Aufgabe besteht darin, alle Zahlen, die kleiner als der gegebene Wert N sind und die Ziffern 1, 3 oder eine Kombination aus beiden haben, rekursiv auszugeben.

Sehen wir uns dafür verschiedene Eingabe-Ausgabe-Szenarien an −

Eingabe− int num = 40

Ausgabe − Rekursives Programm zum Drucken aller Zahlen kleiner als N, die nur aus den Ziffern 1 oder 3 bestehen, sind: 33 31 13 11 3 1

Erklärung − Wir erhalten einen positiven ganzzahligen Wert als 40, der in einer Variablen num gespeichert ist. Jetzt werden wir rekursiv alle Zahlen herausfinden, die die Ziffern 1, 3 oder beide enthalten, und die Zahlen unter 40 sind 1, 3, 11, 13, 31, 33

Input − int num = 5

Output  − Rekursives Programm zum Drucken aller Zahlen kleiner als N, die nur aus den Ziffern 1 oder 3 bestehen, sind: 3 1

Erklärung − Wir erhalten einen positiven ganzzahligen Wert von 40, der in einer Variablen num gespeichert ist. Jetzt werden wir rekursiv alle Zahlen ermitteln, die die Ziffern 1, 3 oder beide enthalten, sowie die Zahlen kleiner als 5 sind 1 und 3.

Input − int num = 1

Output − Wrong Input

Explanation −的正整数值为1.现在,我们将递归地找出所有包含数字1, 3或两者的数字, 并且这些数字小于1 sind 0, da die einzige positive Ganzzahl kleiner als 0 0 ist. Daher ist die Ausgabe eine falsche Eingabe.

Der im folgenden Programm verwendete Ansatz ist wie folgt: Geben Sie eine Ganzzahlvariable als Zahl ein. Übergeben Sie es an die Funktion „Recursive_Numbers(num)“, indem Sie „num“ als Parameter an die Funktion übergeben

    Überprüfen Sie, ob die Zahl größer als 0 ist, und starten Sie, während die Temperatur größer als 0 ist, und prüfen Sie auf 1. Stellen Sie die Ziffer auf Temperatur % 10 ein temp = temp / 10.
  • Überprüfen Sie, ob die Prüfung 1 ist, und geben Sie dann Nummer aus.
    • Führen Sie einen rekursiven Aufruf der Funktion Recursive_Numbers(num - 1) aus
    • Beispiel

      #include <iostream>
      using namespace std;
      void Recursive_Numbers(int num){
         bool check = 1;
         int temp = num;
         if(num > 0){
            while(temp > 0 && check == 1){
               int digit = temp % 10;
               if (digit != 1 && digit != 3){
                  check = 0;
               }
               temp = temp / 10;
            }
            if(check == 1){
               cout<< num << " ";
            }
            Recursive_Numbers(num - 1);
         }
      }
      int main(){
         int num = 40;
         if(num <= 1){
            cout<<"Wrong input";
         }
         else{
            cout<<"Recursive program to print all numbers less than N which consist of digits 1 or 3 only are: ";
            Recursive_Numbers(num);
         }
         return 0;
      }
      Nach dem Login kopieren
    • 输出
    • 如果我们运行上述代码,将会生成以下输出

      Recursive program to print all numbers less than N which consist of digits 1 or 3 only are: 33 31
      13 11 3 1
      Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEin rekursives Programm gibt alle Zahlen kleiner als N aus, die nur aus den Ziffern 1 oder 3 bestehen. 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