{"id":26533,"date":"2017-12-20T21:38:37","date_gmt":"2017-12-20T16:08:37","guid":{"rendered":"https:\/\/www.wikitechy.com\/technology\/?p=26533"},"modified":"2017-12-20T21:38:37","modified_gmt":"2017-12-20T16:08:37","slug":"c-programming-program-fibonacci-numbers","status":"publish","type":"post","link":"https:\/\/www.wikitechy.com\/technology\/c-programming-program-fibonacci-numbers\/","title":{"rendered":"C Programming &#8211; Program for Fibonacci numbers"},"content":{"rendered":"<p>The Fibonacci numbers are the numbers in the following integer sequence.<span id=\"more-10120\"><\/span><\/p>\n<p>0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, \u2026\u2026..<\/p>\n<p>In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation<\/p>\n<pre>    F<sub>n<\/sub> = F<sub>n-1<\/sub> + F<sub>n-2<\/sub><\/pre>\n<p>with seed values<\/p>\n<pre>F<sub>0<\/sub> = 0 and F<sub>1<\/sub> = 1.<\/pre>\n<p>Write a function <em>int fib(int n)<\/em> that returns F<sub>n<\/sub>. For example, if <em>n<\/em> = 0, then <em>fib()<\/em> should return 0. If n = 1, then it should return 1. For n > 1, it should return F<sub>n-1<\/sub> + F<sub>n-2<\/sub><\/p>\n<pre>For n = 9\r\nOutput:34<\/pre>\n<p>Following are different methods to get the nth Fibonacci number.<\/p>\n[ad type=\u201dbanner\u201d]\n<p><strong>Method 1 ( Use recursion ) <\/strong><br \/>\nA simple method that is a direct recursive implementation mathematical recurrence relation given above.<\/p>\n[pastacode lang=\u201dc\u201d manual=\u201d%2F%2FFibonacci%20Series%20using%20Recursion%0A%23include%3Cstdio.h%3E%0Aint%20fib(int%20n)%0A%7B%0A%20%20%20if%20(n%20%3C%3D%201)%0A%20%20%20%20%20%20return%20n%3B%0A%20%20%20return%20fib(n-1)%20%2B%20fib(n-2)%3B%0A%7D%0A%20%0Aint%20main%20()%0A%7B%0A%20%20int%20n%20%3D%209%3B%0A%20%20printf(%22%25d%22%2C%20fib(n))%3B%0A%20%20getchar()%3B%0A%20%20return%200%3B%0A%7D\u201d message=\u201dC\u201d highlight=\u201d\u201d provider=\u201dmanual\u201d\/]\n<p>Output<\/p>\n<pre>34<\/pre>\n<p><em>Time Complexity:<\/em> T(n) = T(n-1) + T(n-2) which is exponential.<br \/>\nWe can observe that this implementation does a lot of repeated work (see the following recursion tree). So this is a bad implementation for nth Fibonacci number.<\/p>\n[ad type=\u201dbanner\u201d]\n<pre>                         fib(5)   \r\n                     \/             \\     \r\n               fib(4)                fib(3)   \r\n             \/      \\                \/     \\\r\n         fib(3)      fib(2)         fib(2)    fib(1)\r\n        \/     \\        \/    \\       \/    \\  \r\n  fib(2)   fib(1)  fib(1) fib(0) fib(1) fib(0)\r\n  \/    \\\r\nfib(1) fib(0)\r\n<\/pre>\n<p><em>Extra Space:<\/em> O(n) if we consider the function call stack size, otherwise O(1).<\/p>\n<p><strong>Method 2 ( Use Dynamic Programming )<\/strong><br \/>\nWe can avoid the repeated work done is the method 1 by storing the Fibonacci numbers calculated so far.<\/p>\n[pastacode lang=\u201dc\u201d manual=\u201d%2F%2FFibonacci%20Series%20using%20Dynamic%20Programming%0A%23include%3Cstdio.h%3E%0A%20%0Aint%20fib(int%20n)%0A%7B%0A%20%20%2F*%20Declare%20an%20array%20to%20store%20Fibonacci%20numbers.%20*%2F%0A%20%20int%20f%5Bn%2B1%5D%3B%0A%20%20int%20i%3B%0A%20%0A%20%20%2F*%200th%20and%201st%20number%20of%20the%20series%20are%200%20and%201*%2F%0A%20%20f%5B0%5D%20%3D%200%3B%0A%20%20f%5B1%5D%20%3D%201%3B%0A%20%0A%20%20for%20(i%20%3D%202%3B%20i%20%3C%3D%20n%3B%20i%2B%2B)%0A%20%20%7B%0A%20%20%20%20%20%20%2F*%20Add%20the%20previous%202%20numbers%20in%20the%20series%0A%20%20%20%20%20%20%20%20%20and%20store%20it%20*%2F%0A%20%20%20%20%20%20f%5Bi%5D%20%3D%20f%5Bi-1%5D%20%2B%20f%5Bi-2%5D%3B%0A%20%20%7D%0A%20%0A%20%20return%20f%5Bn%5D%3B%0A%7D%0A%20%0Aint%20main%20()%0A%7B%0A%20%20int%20n%20%3D%209%3B%0A%20%20printf(%22%25d%22%2C%20fib(n))%3B%0A%20%20getchar()%3B%0A%20%20return%200%3B%0A%7D\u201d message=\u201dC\u201d highlight=\u201d\u201d provider=\u201dmanual\u201d\/]\n<p>Output:<\/p>\n<pre>34<\/pre>\n<p><em>Time Complexity:<\/em> O(n)<br \/>\n<em>Extra Space: <\/em>O(n)<\/p>\n[ad type=\u201dbanner\u201d]\n<p><strong>Method 3 ( Space Optimized Method 2 )<\/strong><br \/>\nWe can optimize the space used in method 2 by storing the previous two numbers only because that is all we need to get the next Fibonacci number in series.<\/p>\n[pastacode lang=\u201dc\u201d manual=\u201d%2F%2F%20Fibonacci%20Series%20using%20Space%20Optimized%20Method%0A%23include%3Cstdio.h%3E%0Aint%20fib(int%20n)%0A%7B%0A%20%20int%20a%20%3D%200%2C%20b%20%3D%201%2C%20c%2C%20i%3B%0A%20%20if(%20n%20%3D%3D%200)%0A%20%20%20%20return%20a%3B%0A%20%20for%20(i%20%3D%202%3B%20i%20%3C%3D%20n%3B%20i%2B%2B)%0A%20%20%7B%0A%20%20%20%20%20c%20%3D%20a%20%2B%20b%3B%0A%20%20%20%20%20a%20%3D%20b%3B%0A%20%20%20%20%20b%20%3D%20c%3B%0A%20%20%7D%0A%20%20return%20b%3B%0A%7D%0A%20%0Aint%20main%20()%0A%7B%0A%20%20int%20n%20%3D%209%3B%0A%20%20printf(%22%25d%22%2C%20fib(n))%3B%0A%20%20getchar()%3B%0A%20%20return%200%3B%0A%7D\u201d message=\u201dC\u201d highlight=\u201d\u201d provider=\u201dmanual\u201d\/]\n<p><em>Time Complexity:<\/em> O(n)<br \/>\n<em>Extra Space: <\/em>O(1)<\/p>\n[ad type=\u201dbanner\u201d]\n<p><strong>Method 4 ( Using power of the matrix {{1,1},{1,0}} )<\/strong><br \/>\nThis another O(n) which relies on the fact that if we n times multiply the matrix M = {{1,1},{1,0}} to itself (in other words calculate power(M, n )), then we get the (n+1)th Fibonacci number as the element at row and column (0, 0) in the resultant matrix.<\/p>\n<p>The matrix representation gives the following closed expression for the Fibonacci numbers:<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-26548 alignleft\" src=\"https:\/\/www.wikitechy.com\/technology\/wp-content\/uploads\/2017\/05\/Problems-For-Fibonacci-Series.png\" alt=\"Problems For Fibonacci Series\" width=\"215\" height=\"44\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n[pastacode lang=\u201dc\u201d manual=\u201d%23include%20%3Cstdio.h%3E%0A%20%0A%2F*%20Helper%20function%20that%20multiplies%202%20matrices%20F%20and%20M%20of%20size%202*2%2C%20and%0A%20%20puts%20the%20multiplication%20result%20back%20to%20F%5B%5D%5B%5D%20*%2F%0Avoid%20multiply(int%20F%5B2%5D%5B2%5D%2C%20int%20M%5B2%5D%5B2%5D)%3B%0A%20%0A%2F*%20Helper%20function%20that%20calculates%20F%5B%5D%5B%5D%20raise%20to%20the%20power%20n%20and%20puts%20the%0A%20%20result%20in%20F%5B%5D%5B%5D%0A%20%20Note%20that%20this%20function%20is%20designed%20only%20for%20fib()%20and%20won\u2019t%20work%20as%20general%0A%20%20power%20function%20*%2F%0Avoid%20power(int%20F%5B2%5D%5B2%5D%2C%20int%20n)%3B%0A%20%0Aint%20fib(int%20n)%0A%7B%0A%20%20int%20F%5B2%5D%5B2%5D%20%3D%20%7B%7B1%2C1%7D%2C%7B1%2C0%7D%7D%3B%0A%20%20if%20(n%20%3D%3D%200)%0A%20%20%20%20%20%20return%200%3B%0A%20%20power(F%2C%20n-1)%3B%0A%20%0A%20%20return%20F%5B0%5D%5B0%5D%3B%0A%7D%0A%20%0Avoid%20multiply(int%20F%5B2%5D%5B2%5D%2C%20int%20M%5B2%5D%5B2%5D)%0A%7B%0A%20%20int%20x%20%3D%20%20F%5B0%5D%5B0%5D*M%5B0%5D%5B0%5D%20%2B%20F%5B0%5D%5B1%5D*M%5B1%5D%5B0%5D%3B%0A%20%20int%20y%20%3D%20%20F%5B0%5D%5B0%5D*M%5B0%5D%5B1%5D%20%2B%20F%5B0%5D%5B1%5D*M%5B1%5D%5B1%5D%3B%0A%20%20int%20z%20%3D%20%20F%5B1%5D%5B0%5D*M%5B0%5D%5B0%5D%20%2B%20F%5B1%5D%5B1%5D*M%5B1%5D%5B0%5D%3B%0A%20%20int%20w%20%3D%20%20F%5B1%5D%5B0%5D*M%5B0%5D%5B1%5D%20%2B%20F%5B1%5D%5B1%5D*M%5B1%5D%5B1%5D%3B%0A%20%0A%20%20F%5B0%5D%5B0%5D%20%3D%20x%3B%0A%20%20F%5B0%5D%5B1%5D%20%3D%20y%3B%0A%20%20F%5B1%5D%5B0%5D%20%3D%20z%3B%0A%20%20F%5B1%5D%5B1%5D%20%3D%20w%3B%0A%7D%0A%20%0Avoid%20power(int%20F%5B2%5D%5B2%5D%2C%20int%20n)%0A%7B%0A%20%20int%20i%3B%0A%20%20int%20M%5B2%5D%5B2%5D%20%3D%20%7B%7B1%2C1%7D%2C%7B1%2C0%7D%7D%3B%0A%20%0A%20%20%2F%2F%20n%20-%201%20times%20multiply%20the%20matrix%20to%20%7B%7B1%2C0%7D%2C%7B0%2C1%7D%7D%0A%20%20for%20(i%20%3D%202%3B%20i%20%3C%3D%20n%3B%20i%2B%2B)%0A%20%20%20%20%20%20multiply(F%2C%20M)%3B%0A%7D%0A%20%0A%2F*%20Driver%20program%20to%20test%20above%20function%20*%2F%0Aint%20main()%0A%7B%0A%20%20int%20n%20%3D%209%3B%0A%20%20printf(%22%25d%22%2C%20fib(n))%3B%0A%20%20getchar()%3B%0A%20%20return%200%3B%0A%7D\u201d message=\u201dC\u201d highlight=\u201d\u201d provider=\u201dmanual\u201d\/]\n<p><em>Time Complexity:<\/em> O(n)<br \/>\n<em>Extra Space:<\/em> O(1)<\/p>\n[ad type=\u201dbanner\u201d]\n<p><strong>Method 5 ( Optimized Method 4 )<\/strong><br \/>\nThe method 4 can be optimized to work in O(Logn) time complexity. We can do recursive multiplication to get power(M, n) in the prevous method (Similar to the optimization done in this post)<\/p>\n[pastacode lang=\u201dc\u201d manual=\u201d%23include%20%3Cstdio.h%3E%0A%20%0Avoid%20multiply(int%20F%5B2%5D%5B2%5D%2C%20int%20M%5B2%5D%5B2%5D)%3B%0A%20%0Avoid%20power(int%20F%5B2%5D%5B2%5D%2C%20int%20n)%3B%0A%20%0A%2F*%20function%20that%20returns%20nth%20Fibonacci%20number%20*%2F%0Aint%20fib(int%20n)%0A%7B%0A%20%20int%20F%5B2%5D%5B2%5D%20%3D%20%7B%7B1%2C1%7D%2C%7B1%2C0%7D%7D%3B%0A%20%20if%20(n%20%3D%3D%200)%0A%20%20%20%20return%200%3B%0A%20%20power(F%2C%20n-1)%3B%0A%20%20return%20F%5B0%5D%5B0%5D%3B%0A%7D%0A%20%0A%2F*%20Optimized%20version%20of%20power()%20in%20method%204%20*%2F%0Avoid%20power(int%20F%5B2%5D%5B2%5D%2C%20int%20n)%0A%7B%0A%20%20if(%20n%20%3D%3D%200%20%7C%7C%20n%20%3D%3D%201)%0A%20%20%20%20%20%20return%3B%0A%20%20int%20M%5B2%5D%5B2%5D%20%3D%20%7B%7B1%2C1%7D%2C%7B1%2C0%7D%7D%3B%0A%20%0A%20%20power(F%2C%20n%2F2)%3B%0A%20%20multiply(F%2C%20F)%3B%0A%20%0A%20%20if%20(n%252%20!%3D%200)%0A%20%20%20%20%20multiply(F%2C%20M)%3B%0A%7D%0A%20%0Avoid%20multiply(int%20F%5B2%5D%5B2%5D%2C%20int%20M%5B2%5D%5B2%5D)%0A%7B%0A%20%20int%20x%20%3D%20%20F%5B0%5D%5B0%5D*M%5B0%5D%5B0%5D%20%2B%20F%5B0%5D%5B1%5D*M%5B1%5D%5B0%5D%3B%0A%20%20int%20y%20%3D%20%20F%5B0%5D%5B0%5D*M%5B0%5D%5B1%5D%20%2B%20F%5B0%5D%5B1%5D*M%5B1%5D%5B1%5D%3B%0A%20%20int%20z%20%3D%20%20F%5B1%5D%5B0%5D*M%5B0%5D%5B0%5D%20%2B%20F%5B1%5D%5B1%5D*M%5B1%5D%5B0%5D%3B%0A%20%20int%20w%20%3D%20%20F%5B1%5D%5B0%5D*M%5B0%5D%5B1%5D%20%2B%20F%5B1%5D%5B1%5D*M%5B1%5D%5B1%5D%3B%0A%20%0A%20%20F%5B0%5D%5B0%5D%20%3D%20x%3B%0A%20%20F%5B0%5D%5B1%5D%20%3D%20y%3B%0A%20%20F%5B1%5D%5B0%5D%20%3D%20z%3B%0A%20%20F%5B1%5D%5B1%5D%20%3D%20w%3B%0A%7D%0A%20%0A%2F*%20Driver%20program%20to%20test%20above%20function%20*%2F%0Aint%20main()%0A%7B%0A%20%20int%20n%20%3D%209%3B%0A%20%20printf(%22%25d%22%2C%20fib(9))%3B%0A%20%20getchar()%3B%0A%20%20return%200%3B%0A%7D\u201d message=\u201dC\u201d highlight=\u201d\u201d provider=\u201dmanual\u201d\/]\n<p><strong><em>Time Complexity: <\/em>O(Logn)<\/strong><br \/>\n<em>Extra Space:<\/em> O(Logn) if we consider the function call stack size, otherwise O(1).<\/p>\n<p>\u00a0<\/p>\n<p><strong>Method 6 (O(Log n) Time)<\/strong><br \/>\nBelow is one more interesting recurrence formula that can be used to find n\u2019th Fibonacci Number in O(Log n) time.<\/p>\n<pre>If n is even then k = n\/2:\r\nF(n) = [2*F(k-1) + F(k)]*F(k)\r\n\r\nIf n is odd then k = (n + 1)\/2\r\nF(n) = F(k)*F(k) + F(k-1)*F(k-1)<\/pre>\n[ad type=\u201dbanner\u201d]\n<p><strong>How does this formula work?<\/strong><br \/>\nThe formula can be derived from above matrix equation.<\/p>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-26550\" src=\"https:\/\/www.wikitechy.com\/technology\/wp-content\/uploads\/2017\/05\/Fibonacci-Series.png\" alt=\"Fibonacci Series\" width=\"215\" height=\"44\" \/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>Taking determinant on both sides, we get<br \/>\n(-1)<sup>n<\/sup> = F<sub>n+1<\/sub>F<sub>n-1<\/sub> \u2013 F<sub>n<\/sub><sup>2<\/sup><br \/>\nMoreover, since A<sup>n<\/sup>A<sup>m<\/sup> = A<sup>n+m<\/sup> for any square matrix A, the following identities can be derived (they are obtained form two different coefficients of the matrix product)<\/p>\n<p>F<sub>m<\/sub>F<sub>n<\/sub> + F<sub>m-1<\/sub>F<sub>n-1<\/sub> = F<sub>m+n-1<\/sub><\/p>\n<p>By putting n = n+1,<\/p>\n<p>F<sub>m<\/sub>F<sub>n+1<\/sub> + F<sub>m-1<\/sub>F<sub>n<\/sub> = F<sub>m+n<\/sub><\/p>\n<p>Putting m = n<\/p>\n<p>F<sub>2n-1<\/sub> = F<sub>n<\/sub><sup>2<\/sup> + F<sub>n-1<\/sub><sup>2<\/sup><\/p>\n<p>F<sub>2n<\/sub> = (F<sub>n-1<\/sub> + F<sub>n+1<\/sub>)F<sub>n<\/sub> = (2F<sub>n-1<\/sub> + F<sub>n<\/sub>)F<sub>n<\/sub> (Source: Wiki)<\/p>\n<p>To get the formula to be proved, we simply need to do following<br \/>\nIf n is even, we can put k = n\/2<br \/>\nIf n is odd, we can put k = (n+1)\/2<\/p>\n<p>Below is C++ implementation of above idea.<\/p>\n[pastacode lang=\u201dcpp\u201d manual=\u201d%2F%2F%20C%2B%2B%20Program%20to%20find%20n\u2019th%20fibonacci%20Number%20in%0A%2F%2F%20with%20O(Log%20n)%20arithmatic%20operations%0A%23include%20%3Cbits%2Fstdc%2B%2B.h%3E%0Ausing%20namespace%20std%3B%0A%20%0Aconst%20int%20MAX%20%3D%201000%3B%0A%20%0A%2F%2F%20Create%20an%20array%20for%20memoization%0Aint%20f%5BMAX%5D%20%3D%20%7B0%7D%3B%0A%20%0A%2F%2F%20Returns%20n\u2019th%20fuibonacci%20number%20using%20table%20f%5B%5D%0Aint%20fib(int%20n)%0A%7B%0A%20%20%20%20%2F%2F%20Base%20cases%0A%20%20%20%20if%20(n%20%3D%3D%200)%0A%20%20%20%20%20%20%20%20return%200%3B%0A%20%20%20%20if%20(n%20%3D%3D%201%20%7C%7C%20n%20%3D%3D%202)%0A%20%20%20%20%20%20%20%20return%20(f%5Bn%5D%20%3D%201)%3B%0A%20%0A%20%20%20%20%2F%2F%20If%20fib(n)%20is%20already%20computed%0A%20%20%20%20if%20(f%5Bn%5D)%0A%20%20%20%20%20%20%20%20return%20f%5Bn%5D%3B%0A%20%0A%20%20%20%20int%20k%20%3D%20(n%20%26%201)%3F%20(n%2B1)%2F2%20%3A%20n%2F2%3B%0A%20%0A%20%20%20%20%2F%2F%20Applyting%20above%20formula%20%5BNote%20value%20n%261%20is%201%0A%20%20%20%20%2F%2F%20if%20n%20is%20odd%2C%20else%200.%0A%20%20%20%20f%5Bn%5D%20%3D%20(n%20%26%201)%3F%20(fib(k)*fib(k)%20%2B%20fib(k-1)*fib(k-1))%0A%20%20%20%20%20%20%20%20%20%20%20%3A%20(2*fib(k-1)%20%2B%20fib(k))*fib(k)%3B%0A%20%0A%20%20%20%20return%20f%5Bn%5D%3B%0A%7D%0A%20%0A%2F*%20Driver%20program%20to%20test%20above%20function%20*%2F%0Aint%20main()%0A%7B%0A%20%20%20%20int%20n%20%3D%209%3B%0A%20%20%20%20printf(%22%25d%20%22%2C%20fib(n))%3B%0A%20%20%20%20return%200%3B%0A%7D\u201d message=\u201dC++\u201d highlight=\u201d\u201d provider=\u201dmanual\u201d\/]\n<p>Output :<\/p>\n<pre>34<\/pre>\n<p>Time complexity of this solution is O(Log n) as we divide the problem to half in every recursive call.<\/p>\n[ad type=\u201dbanner\u201d]\n","protected":false},"excerpt":{"rendered":"<p>C Programming &#8211; Program for Fibonacci numbers &#8211; Dynamic Programming The Fibonacci numbers are the numbers in the following integer sequence.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69866,1,70145],"tags":[74080,79067,79085,79084,72847,72842,72845,70483,72841,72848,72840,72849,72846,72865,72843,72854,72844,79068,72850,72438,79071,79070,74945,79073,74954,79072,79079,72443,79078,79087,79080,74964,79081,79083,74986,79075,79076,72839,79069,72020,72852,79066,79077,72855,72853,79086,79074,79082,74961,72444,74934,72851],"class_list":["post-26533","post","type-post","status-publish","format-standard","hentry","category-c-programming","category-coding","category-dynamic-programming","tag-c-program-for-fibonacci-series","tag-c-program-to-find-fibonacci-numbers-using-dynamic-programming","tag-c-program-to-find-fibonacci-series","tag-c-program-to-print-fibonacci-series","tag-concept-of-dynamic-programming","tag-define-dynamic-programming","tag-definition-of-dynamic-programming","tag-dynamic-programming","tag-dynamic-programming-c","tag-dynamic-programming-code-generation-algorithm","tag-dynamic-programming-definition","tag-dynamic-programming-in-c","tag-dynamic-programming-in-data-structure","tag-dynamic-programming-memoization-example","tag-dynamic-programming-problems","tag-dynamic-programming-set-1","tag-dynamic-programming-software","tag-dynamic-programming-tutorial-with-fibonacci-sequence","tag-explain-dynamic-programming","tag-factorial-c-program","tag-fibonacci-numbers-using-dynamic-programming","tag-fibonacci-sequence-with-dynamic-programming","tag-fibonacci-series","tag-fibonacci-series-algorithm-analysis","tag-fibonacci-series-c","tag-fibonacci-series-c-programming","tag-fibonacci-series-formula","tag-fibonacci-series-in-c","tag-fibonacci-series-in-nature","tag-fibonacci-series-java-program","tag-fibonacci-series-logic","tag-fibonacci-series-program","tag-fibonacci-series-recursion","tag-fibonacci-series-recursion-c","tag-fibonacci-series-using-dynamic-programming","tag-fibonacci-series-using-recursion","tag-fibonacci-series-using-recursion-c","tag-how-to-solve-dynamic-programming-problems","tag-improve-c-fibonacci-series","tag-palindrome-program","tag-problems-on-dynamic-programming","tag-program-for-fibonacci-numbers","tag-program-for-fibonacci-series","tag-simple-dynamic-programming-example","tag-types-of-dynamic-programming","tag-write-a-c-program-for-fibonacci-series","tag-write-a-c-program-to-print-nth-fibonacci-number","tag-write-a-program-in-c-for-fibonacci-series","tag-write-a-program-to-generate-the-fibonacci-series","tag-write-a-program-to-generate-the-fibonacci-series-in-c","tag-write-a-program-to-print-fibonacci-series","tag-youtube-dynamic-programming"],"_links":{"self":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts\/26533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/comments?post=26533"}],"version-history":[{"count":0,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts\/26533\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/media?parent=26533"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/categories?post=26533"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/tags?post=26533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}