{"id":26020,"date":"2017-10-26T09:41:49","date_gmt":"2017-10-26T04:11:49","guid":{"rendered":"https:\/\/www.wikitechy.com\/technology\/?p=26020"},"modified":"2017-10-26T09:41:49","modified_gmt":"2017-10-26T04:11:49","slug":"c-programming-check-given-number-fibonacci-number","status":"publish","type":"post","link":"https:\/\/www.wikitechy.com\/technology\/c-programming-check-given-number-fibonacci-number\/","title":{"rendered":"C++ Programming -To check if a given number is Fibonacci number"},"content":{"rendered":"<p>Given a number \u2018n\u2019, how to check if n is a Fibonacci number. First few Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141, ..<\/p>\n<p>Examples :<\/p>\n<p>Input : 8<br \/>\nOutput : Yes<\/p>\n<p>Input : 34<br \/>\nOutput : Yes<\/p>\n<p>Input : 41<br \/>\nOutput : No<\/p>\n<p>A simple way is to generate Fibonacci numbers until the generated number is greater than or equal to \u2018n\u2019. Following is an interesting property about Fibonacci numbers that can also be used to check if a given number is Fibonacci or not.<br \/>\nA number is Fibonacci if and only if one or both of (5*n2 + 4) or (5*n2 \u2013 4) is a perfect square<\/p>\n[ad type=&#8221;banner&#8221;]\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">C++ Program<\/span> <\/div> <pre class=\"language-cpp code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-cpp code-embed-code\">\/\/ C++ program to check if x is a perfect square<br\/>#include &lt;iostream&gt;<br\/>#include &lt;math.h&gt;<br\/>using namespace std;<br\/> <br\/>\/\/ A utility function that returns true if x is perfect square<br\/>bool isPerfectSquare(int x)<br\/>{<br\/>    int s = sqrt(x);<br\/>    return (s*s == x);<br\/>}<br\/> <br\/>\/\/ Returns true if n is a Fibinacci Number, else false<br\/>bool isFibonacci(int n)<br\/>{<br\/>    \/\/ n is Fibinacci if one of 5*n*n + 4 or 5*n*n - 4 or both<br\/>    \/\/ is a perferct square<br\/>    return isPerfectSquare(5*n*n + 4) ||<br\/>           isPerfectSquare(5*n*n - 4);<br\/>}<br\/> <br\/>\/\/ A utility function to test above functions<br\/>int main()<br\/>{<br\/>  for (int i = 1; i &lt;= 10; i++)<br\/>     isFibonacci(i)? cout &lt;&lt; i &lt;&lt; &quot; is a Fibonacci Number \\n&quot;:<br\/>                     cout &lt;&lt; i &lt;&lt; &quot; is a not Fibonacci Number \\n&quot; ;<br\/>  return 0;<br\/>}<\/code><\/pre> <\/div>\n<p><strong>Output:<\/strong><\/p>\n<pre>1 is a Fibonacci Number\r\n2 is a Fibonacci Number\r\n3 is a Fibonacci Number\r\n4 is a not Fibonacci Number\r\n5 is a Fibonacci Number\r\n6 is a not Fibonacci Number\r\n7 is a not Fibonacci Number\r\n8 is a Fibonacci Number\r\n9 is a not Fibonacci Number\r\n10 is a not Fibonacci Number<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>C++ Programming -To check if a given number is Fibonacci number &#8211; A simple way is to generate Fibonacci numbers until the generated number is greater<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[83515,1,74058],"tags":[75237,76307,75238,75245,75246,75239,76312,76320,76313,76618,75298,76308,76617,76619,75515,75209,76321,75243,75192,76316,76623,76616,75193,76314,75195,72110,76622,75577,76620,70786,76310,74082,76615,75242,76319,72118,76323,76311],"class_list":["post-26020","post","type-post","status-publish","format-standard","hentry","category-c-programming-3","category-coding","category-mathematical-algorithms","tag-how-to-check-if-a-number-is-prime-in-java","tag-how-to-find-the-prime-number-in-c","tag-java-program-for-prime-number","tag-java-program-of-prime-number","tag-java-program-prime-number","tag-java-program-to-find-prime-number","tag-java-program-to-print-prime-numbers","tag-java-program-to-print-prime-numbers-from-1-to-20","tag-javascript-program-to-print-prime-numbers","tag-list-of-prime-nos-from-1-to-100","tag-list-of-prime-numbers","tag-logic-for-prime-number","tag-primary-number-program-in-c","tag-prime-no","tag-prime-no-code-in-c","tag-prime-no-in-c","tag-prime-no-java-program","tag-prime-no-program","tag-prime-no-program-in-c","tag-prime-nos","tag-prime-nos-between-1-to-100","tag-prime-number-c-program-using-while-loop","tag-prime-number-generation-program-in-c","tag-prime-number-program","tag-prime-number-program-in-c-language","tag-prime-number-program-in-c","tag-prime-numbers-from-1-to-100","tag-prime-numbers-from-1-to-20","tag-prime-numbers-up-to-100","tag-prims-program-in-c","tag-program-for-prime-number","tag-program-for-prime-number-in-c","tag-program-of-prime-no-in-c","tag-program-to-check-prime-number-in-java","tag-show-prime-numbers","tag-simple-c-program-for-prime-number","tag-the-prime-numbers","tag-write-a-program-in-c-to-find-prime-number"],"_links":{"self":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts\/26020","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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/comments?post=26020"}],"version-history":[{"count":0,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts\/26020\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/media?parent=26020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/categories?post=26020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/tags?post=26020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}