C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ループと再帰なしで、C++で1から100を印刷します


再帰関数、gotoステートメントを使用したり、main()関数の外部で関数を作成したりするなど、ループを使用せずに数値を出力する方法はいくつかあります。

これは、C++言語でgotoステートメントを使用して数値を出力する例です。

#include <bits/stdc++.h>
using namespace std;
int main() {
   int count=1;
   int x;
   cout << "Enter the max value of x : ";
   cin >> x;
   PRINT:
   cout << " " << count;
   count++;
   if(count<=x)
   goto PRINT;
   return 0;
}

出力

Enter the max value of x : 1

上記のプログラムでは、GOTOステートメントを使用して、ループや再帰を使用せずに1から100までの数値を出力しました。

PRINT:
cout << " " << count;
count++;
if(count<=x)
goto PRINT;

  1. C++を使用して再帰を使用せずにルートからリーフへのパスを出力するプログラム

    このチュートリアルでは、ルートノードから特定のバイナリツリー内のすべてのリーフノードへのパスを出力するプログラムについて説明します。 たとえば、次の二分木があるとしましょう この二分木には、4つのリーフノードがあります。したがって、ルートノードからリーフノードへのパスは4つになります。 これを解決するために、反復アプローチを使用します。二分木のプレオーダートラバーサルを実行している間、マップに親ポインタを格納できます。トラバーサル中にリーフノードに遭遇したときはいつでも、親ポインタを使用してルートノードからそのパスを簡単に出力できます。 例 #include <bits/st

  2. C ++プログラミングで再帰を使用せずに、ルートからリーフへのパスを出力します。

    二分木を考えると、プログラムはルートからリーフまでの複数のパスを見つける必要があります。つまり、すべてのパスを出力する必要がありますが、再帰を使用しないことが課題です。 再帰なしで実行することが制約であるため、ツリーを繰り返しトラバースします。したがって、これを実現するために、ルート要素を格納するSTLマップを使用できます。リーフノードがレベル順トラバーサルによって識別されると、ルートノードを指すマップポインターがあるため、ルートからリーフへのパスが出力されます。 上記のツリーには、ルートからリーフに到達するために生成できる複数のパスがあります- 10 -> 3 ->