Determine that if given number is Fibonacci Number
A Fibonacci number is a number in the sequence of Fibonacci numbers, which is defined as follows:
- The first two Fibonacci numbers are 0 and 1.
- Each subsequent Fibonacci number is the sum of the two preceding Fibonacci numbers.
So, for example, the first few Fibonacci numbers are: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, and so on.
To determine if a given number is a Fibonacci number, you can check if it can be expressed as the sum of two preceding Fibonacci numbers. One way to do this is to use the following formula:
- A number N is a Fibonacci number if and only if 5N^2 + 4 or 5N^2 - 4 is a perfect square.
If either of these expressions is a perfect square, then N is a Fibonacci number. Otherwise, it is not.
For example, let's say we want to determine if the number 8 is a Fibonacci number. Using the formula above, we get:
- 5(8)^2 + 4 = 324, which is a perfect square (18^2)
- 5(8)^2 - 4 = 316, which is not a perfect square
Therefore, 8 is a Fibonacci number.
Program Solution
// C program for
// Determine that if given number is Fibonacci Number
#include <stdio.h>
#include <math.h>
void isFibonacciNo(int n)
{
// 5n²+4
int a = 5 *n *n + 4;
// 5n²-4
int b = 5 *n *n - 4;
int aSqrt = sqrt(a);
int bSqrt = sqrt(b);
if ((aSqrt *aSqrt) == a || (bSqrt *bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
printf("\n Given %d is fibonacci number ", n);
}
else
{
printf("\n Given %d is not fibonacci number ", n);
}
}
int main(int argc, char
const *argv[])
{
isFibonacciNo(51);
isFibonacciNo(144);
isFibonacciNo(987);
isFibonacciNo(14);
return 0;
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
// Java Program
// Determine that if given number is Fibonacci Number
public class FibonacciNumber
{
public void isFibonacciNo(int n)
{
// 5n²+4
int a = 5 * n * n + 4;
// 5n²-4
int b = 5 * n * n - 4;
int aSqrt = (int) Math.sqrt(a);
int bSqrt = (int) Math.sqrt(b);
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
System.out.print("\n Given " + n + " is fibonacci number ");
}
else
{
System.out.print("\n Given " + n + " is not fibonacci number ");
}
}
public static void main(String[] args)
{
FibonacciNumber task = new FibonacciNumber();
// Test
task.isFibonacciNo(51);
task.isFibonacciNo(144);
task.isFibonacciNo(987);
task.isFibonacciNo(14);
}
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
// Include header file
#include <iostream>
#include <math.h>
using namespace std;
// C++ Program
// Determine that if given number is Fibonacci Number
class FibonacciNumber
{
public: void isFibonacciNo(int n)
{
// 5n²+4
int a = 5 *n *n + 4;
// 5n²-4
int b = 5 *n *n - 4;
int aSqrt = (int) sqrt(a);
int bSqrt = (int) sqrt(b);
if ((aSqrt *aSqrt) == a || (bSqrt *bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
cout << "\n Given " << n << " is fibonacci number ";
}
else
{
cout << "\n Given " << n << " is not fibonacci number ";
}
}
};
int main()
{
FibonacciNumber *task = new FibonacciNumber();
// Test
task->isFibonacciNo(51);
task->isFibonacciNo(144);
task->isFibonacciNo(987);
task->isFibonacciNo(14);
return 0;
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
// Include namespace system
using System;
// Csharp Program
// Determine that if given number is Fibonacci Number
public class FibonacciNumber
{
public void isFibonacciNo(int n)
{
// 5n²+4
int a = 5 * n * n + 4;
// 5n²-4
int b = 5 * n * n - 4;
int aSqrt = (int) Math.Sqrt(a);
int bSqrt = (int) Math.Sqrt(b);
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
Console.Write("\n Given " + n + " is fibonacci number ");
}
else
{
Console.Write("\n Given " + n + " is not fibonacci number ");
}
}
public static void Main(String[] args)
{
FibonacciNumber task = new FibonacciNumber();
// Test
task.isFibonacciNo(51);
task.isFibonacciNo(144);
task.isFibonacciNo(987);
task.isFibonacciNo(14);
}
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
package main
import "math"
import "fmt"
// Go Program
// Determine that if given number is Fibonacci Number
func isFibonacciNo(n int) {
// 5n²+4
var a int = 5 * n * n + 4
// 5n²-4
var b int = 5 * n * n - 4
var aSqrt int = int(math.Sqrt(float64(a)))
var bSqrt int = int(math.Sqrt(float64(b)))
if (aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b {
// When aSqrt or bSqrt is perfect square
fmt.Print("\n Given ", n, " is fibonacci number ")
} else {
fmt.Print("\n Given ", n, " is not fibonacci number ")
}
}
func main() {
// Test
isFibonacciNo(51)
isFibonacciNo(144)
isFibonacciNo(987)
isFibonacciNo(14)
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
<?php
// Php Program
// Determine that if given number is Fibonacci Number
class FibonacciNumber
{
public function isFibonacciNo($n)
{
// 5n²+4
$a = 5 * $n * $n + 4;
// 5n²-4
$b = 5 * $n * $n - 4;
$aSqrt = (int) sqrt($a);
$bSqrt = (int) sqrt($b);
if (($aSqrt * $aSqrt) == $a || ($bSqrt * $bSqrt) == $b)
{
// When aSqrt or bSqrt is perfect square
echo("\n Given ".$n.
" is fibonacci number ");
}
else
{
echo("\n Given ".$n.
" is not fibonacci number ");
}
}
}
function main()
{
$task = new FibonacciNumber();
// Test
$task->isFibonacciNo(51);
$task->isFibonacciNo(144);
$task->isFibonacciNo(987);
$task->isFibonacciNo(14);
}
main();
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
// Node JS Program
// Determine that if given number is Fibonacci Number
class FibonacciNumber
{
isFibonacciNo(n)
{
// 5n²+4
var a = 5 * n * n + 4;
// 5n²-4
var b = 5 * n * n - 4;
var aSqrt = parseInt(Math.sqrt(a));
var bSqrt = parseInt(Math.sqrt(b));
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
process.stdout.write("\n Given " + n + " is fibonacci number ");
}
else
{
process.stdout.write("\n Given " + n + " is not fibonacci number ");
}
}
}
function main()
{
var task = new FibonacciNumber();
// Test
task.isFibonacciNo(51);
task.isFibonacciNo(144);
task.isFibonacciNo(987);
task.isFibonacciNo(14);
}
main();
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
import math
# Python 3 Program
# Determine that if given number is Fibonacci Number
class FibonacciNumber :
def isFibonacciNo(self, n) :
# 5n²+4
a = 5 * n * n + 4
# 5n²-4
b = 5 * n * n - 4
aSqrt = int(math.sqrt(a))
bSqrt = int(math.sqrt(b))
if ((aSqrt * aSqrt) == a or(bSqrt * bSqrt) == b) :
# When aSqrt or bSqrt is perfect square
print("\n Given ", n ," is fibonacci number ", end = "")
else :
print("\n Given ", n ," is not fibonacci number ", end = "")
def main() :
task = FibonacciNumber()
# Test
task.isFibonacciNo(51)
task.isFibonacciNo(144)
task.isFibonacciNo(987)
task.isFibonacciNo(14)
if __name__ == "__main__": main()
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
# Ruby Program
# Determine that if given number is Fibonacci Number
class FibonacciNumber
def isFibonacciNo(n)
# 5n²+4
a = 5 * n * n + 4
# 5n²-4
b = 5 * n * n - 4
aSqrt = Math.sqrt(a).to_i
bSqrt = Math.sqrt(b).to_i
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
# When aSqrt or bSqrt is perfect square
print("\n Given ", n ," is fibonacci number ")
else
print("\n Given ", n ," is not fibonacci number ")
end
end
end
def main()
task = FibonacciNumber.new()
# Test
task.isFibonacciNo(51)
task.isFibonacciNo(144)
task.isFibonacciNo(987)
task.isFibonacciNo(14)
end
main()
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
// Scala Program
// Determine that if given number is Fibonacci Number
class FibonacciNumber()
{
def isFibonacciNo(n: Int): Unit = {
// 5n²+4
var a: Int = 5 * n * n + 4;
// 5n²-4
var b: Int = 5 * n * n - 4;
var aSqrt: Int = scala.math.sqrt(a).toInt;
var bSqrt: Int = scala.math.sqrt(b).toInt;
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
print("\n Given " + n + " is fibonacci number ");
}
else
{
print("\n Given " + n + " is not fibonacci number ");
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: FibonacciNumber = new FibonacciNumber();
// Test
task.isFibonacciNo(51);
task.isFibonacciNo(144);
task.isFibonacciNo(987);
task.isFibonacciNo(14);
}
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
import Foundation;
// Swift 4 Program
// Determine that if given number is Fibonacci Number
class FibonacciNumber
{
func isFibonacciNo(_ n: Int)
{
// 5n²+4
let a: Int = 5 * n * n + 4;
// 5n²-4
let b: Int = 5 * n * n - 4;
let aSqrt: Int = Int((Double(a)).squareRoot());
let bSqrt: Int = Int((Double(b)).squareRoot());
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
print("\n Given ", n ," is fibonacci number ", terminator: "");
}
else
{
print("\n Given ", n ," is not fibonacci number ", terminator: "");
}
}
}
func main()
{
let task: FibonacciNumber = FibonacciNumber();
// Test
task.isFibonacciNo(51);
task.isFibonacciNo(144);
task.isFibonacciNo(987);
task.isFibonacciNo(14);
}
main();
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
// Kotlin Program
// Determine that if given number is Fibonacci Number
class FibonacciNumber
{
fun isFibonacciNo(n: Int): Unit
{
// 5n²+4
val a: Int = 5 * n * n + 4;
// 5n²-4
val b: Int = 5 * n * n - 4;
val aSqrt: Int = Math.sqrt(a.toDouble()).toInt();
val bSqrt: Int = Math.sqrt(b.toDouble()).toInt();
if ((aSqrt * aSqrt) == a || (bSqrt * bSqrt) == b)
{
// When aSqrt or bSqrt is perfect square
print("\n Given " + n + " is fibonacci number ");
}
else
{
print("\n Given " + n + " is not fibonacci number ");
}
}
}
fun main(args: Array < String > ): Unit
{
val task: FibonacciNumber = FibonacciNumber();
// Test
task.isFibonacciNo(51);
task.isFibonacciNo(144);
task.isFibonacciNo(987);
task.isFibonacciNo(14);
}
Output
Given 51 is not fibonacci number
Given 144 is fibonacci number
Given 987 is fibonacci number
Given 14 is not fibonacci number
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment