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

C++でのTribonacciWord


TribonacciWordは数字のシーケンスです。これはフィボナッチ列に似ています。 Tribonacci Wordは、前の3つの文字列を繰り返し連結して作成されます

T(n) = T(n - 1) + T(n - 2) + T(n - 3)

開始する最初のいくつかの文字列は{1、12、1213}です。したがって、次の文字列は1213 + 12 + 1 =1213121

になります。

アルゴリズム

tribonacci_word(n):
Begin
   first := 1, second := 12, third := 1213
   print first, second, third
   for i in range 3 to n, do
      temp := third
      third := third + second + first
      print third
      first := second
      second := next
   done
End

#include<iostream>
using namespace std;
long tribonacci_word_gen(int n){
   //function to generate n tetranacci words
   string first = "1";
   string second = "12";
   string third = "1213";
   cout << first << "\n" << second << "\n" << third << "\n";
   string tmp;
   for (int i = 3; i <= n; i++) {
      tmp = third;
      third += (second + first);
      cout << third <<endl;
      first = second;
      second = tmp;
   }
}
main(){
   tribonacci_word_gen(6);
}

出力

1
12
1213
1213121
1213121121312
121312112131212131211213
12131211213121213121121312131211213121213121

  1. C++での最短単語距離II

    コンストラクターに単語のリストを受け取るクラスがあるとすると、word1とword2の2つの単語を受け取り、リスト内のこれら2つの単語間の最短距離を見つけるメソッドがあります。そのメソッドは、さまざまなパラメータを使用して何度も繰り返し呼び出されます。 言葉=[練習、 作る、 完璧、 スキル、作る]と仮定しましょう。 したがって、入力がword1 =「スキル」、word2 =「練習」のような場合、出力は3になります これを解決するには、次の手順に従います- 1つのマップを定義するm イニシャライザは単語の配列を取ります 初期化i:=0の場合、i <単語のサイズの場合、更

  2. C++でのBKツリーの紹介

    BKツリーまたはBurkhardツリーは、レーベンシュタイン距離に基づいてスペルチェックを実行するために通常使用されるデータ構造の形式です。また、文字列照合にも使用されます。オートコレクト機能を使用して、このデータ構造を作成できます。辞書にいくつかの単語があり、他のいくつかの単語のスペルミスをチェックする必要があるとします。スペルがチェックされる特定の単語に近い単語のコレクションが必要です。たとえば、「uck」という単語がある場合、正しい単語は(truck、duck、duck、suck)になります。したがって、単語を削除するか、文字を適切な文字に置き換える新しい単語を追加することで、スペルミス