C# でのジョセフ リング アルゴリズムの簡単な分析

C# でのジョセフ リング アルゴリズムの簡単な分析

C# アルゴリズムを勉強しているときに、C# ジョセフ リング アルゴリズムに出会いました。ジョセフ リング アルゴリズムとは何でしょうか?まず、ジョセフ環問題の説明を見てみましょう。

n 人が輪になって座っているとします。今、誰かが数を数え始めます。m まで数えた人が列から離れます。次に列を離れた人が再び数を数え始めます。m まで数えた人が再び列から離れ、全員が列から離れるまでこれを繰り返します。列を離れた順に出力します。

以下は、C# アルゴリズムの Joseph リング アルゴリズムの実装プログラムです。

  1. 公共 ジョセファスクラス
  2.    
  3.   //開始人からカウントを開始し、alterを単位としてループで人数をカウントし、合計人数はtotalになります 
  4.    公共  int [ ] Jose( int合計、 int変更、 int開始)
  5. {
  6.         整数i,j,k = 0;
  7.  
  8.          //カウント配列はデキュー順にデータを格納するので、結果を返すことができます 
  9.          int [] count =新規  int [ 合計+1];
  10.  
  11.          //s 配列は初期データを格納する 
  12.          int [] s =新しい  int [ 合計+1];
  13.  
  14.          // 配列に初期値を割り当てます。最初の人物には 0 という番号が付けられ、2 番目の人物には 1 というように番号が付けられます。  
  15.          (i = 0; i < 合計; i++)の場合
  16. {
  17. s[i] = i;
  18. }
  19.  
  20.          //デキュー順に配列countに格納する 
  21.          (i = 合計; i >= 2; i--)の場合
  22. {
  23. 開始 = (開始 + 変更 - 1) % i;
  24.              (開始 == 0)の場合
  25. 開始 = i;
  26. count[k] = s[開始];
  27. 関数
  28.              (j = 開始 + 1; j <= i; j++)の場合
  29. s[j - 1] = s[j];
  30. }
  31. カウント[k]=s[1];
  32.  
  33.          //返された結果 
  34.         カウントを返します
  35. }
  36. }

上記のプログラムは、Microsoft Visual Studio .NET 2003 および Visual C# 2005 Express Edition Beta1 で正常にデバッグされています。

これで、C# ジョセフ リング アルゴリズムの基礎の紹介は終わりです。C# ジョセフ リング アルゴリズムを紹介することで、C# アルゴリズムについてある程度理解していただければ幸いです。

<<:  C# データ構造とアルゴリズムにおける線形テーブルの簡単な分析

>>:  C# バイナリ ツリー トラバーサル アルゴリズムの実装の簡単な分析

ブログ    
ブログ    
ブログ    

推薦する

アリインデックスシステムの設計と実践

今回の講演者は、アントグループの王高航氏です。講演のテーマは、アントインデックスシステムの設計と実践...

...

AIの限界を理解することがその可能性を実現する鍵となる

人工知能 (AI) は、デジタル顧客サービス アシスタント、自動運転車、無人倉庫のロボットなど、多く...

AIは感情に関してより賢くなってきているのでしょうか?人間もそうすべきだ

人々は、一人でいるときと公共の場では行動が大きく異なりますが、基本的な性格は同じままです。観客のいな...

LSTM の父は Llama 2 に中傷されて激怒しました。メタは32年前にアイデアトレーニングモデルを盗用し、ルカンに責任を求めた。

LSTM の父はまた機嫌が悪いです!何が起こっているのか?今日、ユルゲン・シュミットフーバー氏はソ...

トレンド検索No.1! B駅のアップマスターはAIを使って李大昭、陳延年らを笑顔にした

[[408814]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

...

お伝えする 5 つの理由: セキュリティ監視はなぜ人工知能なしでは実現できないのか?

人工知能は、特にセキュリティ分野において業界に大きな影響を与え始めています。成熟したセキュリティ サ...

すべてがUniSimに: 統合自動運転シミュレーションプラットフォーム

最近、トロント大学、MIT、Waabi AIの研究者らがCVPR 2023の論文で新しい自動運転シミ...

ドローンは何に使えるのでしょうか?これらの使い方は本当に素晴らしいです!

ドローンは最近ますます人気が高まっています。高解像度カメラ付きの機械を数百ドルで購入することもできま...

人工知能と人間の知能のギャップは何でしょうか?

AlphaGoがイ・セドルを破った後、人類の知能の最後の高みも人工知能によって征服されたと誰もが言...

18年経った今、マイクロソフトの自然言語処理技術はどうなっているのでしょうか?

[51CTO.com からのオリジナル記事] 自然言語処理は、人工知能の開発において常に克服しなけ...

...

大規模モデルはなぜこんなに遅いのか?考えすぎだったことが判明:新しい方向性は、人間と同じ思考アルゴリズムを使用することです

人間の直感は AI 研究者によって見落とされがちな能力ですが、非常に微妙なため、私たち自身でさえ完全...

スマートオフィス管理におけるAIの役割

スマート オフィスの概念は新しいものではありませんが、企業のオーナーや管理者が自動化の生産性の価値を...