C /C++でループまたは条件なしで1から1000を印刷する
ここでは、ループや条件文なしで1から1000を出力する方法を説明します。ループは使用できないため、再帰を試すことができますが、ここでは、条件も使用できないという別の制約があります。したがって、再帰の基本ケースは使用されません。
ここでは、静的メンバーを使用してこの問題を解決しています。最初に静的メンバーを1で初期化し、次にコンストラクターで値を出力してその値を増やします。次に、そのクラスの1000個のオブジェクトの配列を作成します。これにより、1000個の異なるオブジェクトが作成され、コンストラクターが1000回呼び出されます。したがって、1〜1000を印刷できます。
例
#include<iostream> using namespace std; class PrintN { public: static int value; PrintN() { cout<< value++ <<", "; } }; int PrintN::value = 1; //initialize to 1 main() { int N = 1000; PrintN obj[N]; //create an array of size 1000 to create 1000 objects }
出力
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, .... 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
-
C++での範囲ベースのforループ
forループに基づく範囲は、C ++ 11標準で追加されており、従来の同等のものをよりコンパクトにしたものです。範囲ベースのforループは、コンテナーの要素を最初から最後まで反復するために使用されます。範囲ベースのforループの構文は次のとおりです- 構文 for( range-declaration : range-expression ) loop statement 範囲宣言 −範囲式の要素の型と同じ型の変数の宣言です。多くの場合、autoキーワードは、範囲式の要素のタイプを自動的に識別するために使用されます。 範囲式 −要素のシーケンスを表すために使用される任意の式。中括弧内の要素
-
C /C++でのバークレーのアルゴリズム
バークレーのアルゴリズムは、分散システムのクロック同期に使用されるアルゴリズムです。このアルゴリズムは、分散ネットワークの一部またはすべてのシステムにこれらの問題のいずれかがある場合に使用されます- A.マシンには正確なタイムソースがありません。 B.ネットワークまたはマシンにUTCサーバーがありません。 分散システム 物理的に分離されているが、ネットワークを使用して相互にリンクされている複数のノードが含まれています。 バークレーのアルゴリズム このアルゴリズムでは、システムはノードをマスター/リーダーノードとして選択します。これは、サーバーのプールノードから実行され