喜欢 斐波那契词 ,一个词。是一个特定的数字序列。Tribonacci单词是通过重复的连接形成的,就像斐波那契单词是通过重复的加法形成的一样。但与斐波那契词不同的是,Tribonacci词是由最后三个词的重复相加构成的,它的前三个词彼此不同。
null
In Tribonacci word, S(0) = 1, S(1) = 12, S(2) = 1213, S(3) = 1213121 ..... where S(n) = S(n-1) + S(n-2) + S(n-3) and + represents the concatenation of strings.
任务是找到给定数字n的第n个tribonaci单词。 例如:
Input : n = 4Output : S(4) = 1213121121312Input : n = 3Output : S(3) = 1213121
就像在Fibonacci单词的程序中一样,我们使用迭代的概念来寻找第n个Fibonacci单词,我们可以使用迭代的概念来寻找第n个Tribonacci单词。因此,为了找到第n个Tribonacci单词,我们将使用三个字符串Sn_1、Sn_2和Sn_3,分别代表S(n-1)、S(n-2)和S(n-3),在每次迭代中,我们将更新tmp=Sn_3、Sn_3=Sn_3+Sn_2+Sn_1、Sn_1=Sn_2和Sn_2=tmp,这样我们可以找到第n个Tribonacci单词。
C++
// C++ program for nth Fibonacci word #include <bits/stdc++.h> using namespace std; // Returns n-th Tribonacci word string tribWord( int n) { string Sn_1 = "1" ; string Sn_2 = "12" ; string Sn_3 = "1213" ; string tmp; for ( int i = 3; i <= n; i++) { tmp = Sn_3; Sn_3 += (Sn_2 + Sn_1); Sn_1 = Sn_2; Sn_2 = tmp; } return Sn_3; } // driver program int main() { int n = 6; cout << tribWord(n); return 0; } |
JAVA
// program for nth Tribonacci word class GFG { // Returns n-th Tribonacci word static String tribWord( int n) { String Sn_1 = "1" ; String Sn_2 = "12" ; String Sn_3 = "1213" ; String tmp; for ( int i = 3 ; i <= n; i++) { tmp = Sn_3; Sn_3 += (Sn_2 + Sn_1); Sn_1 = Sn_2; Sn_2 = tmp; } return Sn_3; } // Driver code public static void main(String[] args) { int n = 6 ; System.out.print(tribWord(n)); } } // This code is contributed by Anant Agarwal. |
Python3
# Python3 Program for nth # Tribonacci word # Returns n-th Tribonacci word def tribWord(n): Sn_1 = "1" Sn_2 = "12" Sn_3 = "1213" for i in range ( 3 , n + 1 ): tmp = Sn_3 Sn_3 + = (Sn_2 + Sn_1) Sn_1 = Sn_2 Sn_2 = tmp return Sn_3 # Driver code n = 6 print (tribWord(n)) # This code is contributed By Anant Agarwal. |
C#
// C# program for nth Tribonacci word using System; class GFG { // Returns n-th Tribonacci word static string tribWord( int n) { string Sn_1 = "1" ; string Sn_2 = "12" ; string Sn_3 = "1213" ; string tmp; for ( int i = 3; i <= n; i++) { tmp = Sn_3; Sn_3 += (Sn_2 + Sn_1); Sn_1 = Sn_2; Sn_2 = tmp; } return Sn_3; } // Driver code public static void Main() { int n = 6; Console.WriteLine(tribWord(n)); } } // This code is contributed by vt_m. |
PHP
<?php // Returns n-th Tribonacci word function tribWord( $n ) { $Sn_1 = "1" ; $Sn_2 = "12" ; $Sn_3 = "1213" ; $tmp ; for ( $i = 3; $i <= $n ; $i ++) { $tmp = $Sn_3 ; $Sn_3 .= ( $Sn_2 . $Sn_1 ); $Sn_1 = $Sn_2 ; $Sn_2 = $tmp ; } return $Sn_3 ; } // Driver Code $n = 6; echo tribWord( $n ); // This code is contributed by mits ?> |
Javascript
<script> // javascript program for nth Fibonacci word // Returns n-th Tribonacci word function tribWord(n) { var Sn_1 = "1" ; var Sn_2 = "12" ; var Sn_3 = "1213" ; var tmp; for ( var i = 3; i <= n; i++) { tmp = Sn_3; Sn_3 += (Sn_2 + Sn_1); Sn_1 = Sn_2; Sn_2 = tmp; } return Sn_3; } // driver program var n = 6; document.write( tribWord(n)); // This code is contributed by noob2000. </script> |
输出:
12131211213121213121121312131211213121213121
https://youtu.be/TM5
-ET2AKJY
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END