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
-
C++での最短単語距離II
コンストラクターに単語のリストを受け取るクラスがあるとすると、word1とword2の2つの単語を受け取り、リスト内のこれら2つの単語間の最短距離を見つけるメソッドがあります。そのメソッドは、さまざまなパラメータを使用して何度も繰り返し呼び出されます。 言葉=[練習、 作る、 完璧、 スキル、作る]と仮定しましょう。 したがって、入力がword1 =「スキル」、word2 =「練習」のような場合、出力は3になります これを解決するには、次の手順に従います- 1つのマップを定義するm イニシャライザは単語の配列を取ります 初期化i:=0の場合、i <単語のサイズの場合、更
-
C++でのBKツリーの紹介
BKツリーまたはBurkhardツリーは、レーベンシュタイン距離に基づいてスペルチェックを実行するために通常使用されるデータ構造の形式です。また、文字列照合にも使用されます。オートコレクト機能を使用して、このデータ構造を作成できます。辞書にいくつかの単語があり、他のいくつかの単語のスペルミスをチェックする必要があるとします。スペルがチェックされる特定の単語に近い単語のコレクションが必要です。たとえば、「uck」という単語がある場合、正しい単語は(truck、duck、duck、suck)になります。したがって、単語を削除するか、文字を適切な文字に置き換える新しい単語を追加することで、スペルミス