Question

Asked Oct 30, 2019

C++

Write a recursive program that finds out if n is a Fibonacci number or not. The Fibonacci numbers are

0 1 1 2 3 5 8 13 21 …

Your program should have the following interface:

* *

*Enter a number (enter a negative number to quit): 14*

*!!!!! Sorry14 is not a Fibonacci number*

* *

*Enter a number (enter a negative number to quit): 13*

*Yes, you got it, 13 is a Fibonacci number*

* *

*Enter a number (enter a negative number to quit): 22*

*!!!!! Sorry 22 is not a Fibonacci number*

* *

*Enter a number (enter a negative number to quit): 23*

*!!!!! Sorry 23 is not a Fibonacci number*

* *

*Enter a number (enter a negative number to quit): 21*

*Yes, you got it, 21 is a Fibonacci number*

* *

*Enter a number (enter a negative number to quit): -1*

* *

*(*Thanks – Have a good Day*)*

Step 1

The C++ program will follow the given rubrics:

- Importing header files.
- Displaying the message to user to enter a number.
- Taking input of number from user.
- If the entered number is negative then terminating the program by using, exit (0) statement.
- If the entered number is valid Fibonacci number, then displaying the number with proper given message.
- If the entered number is equal to 0 or 1, then display that it is a Fibonacci number.
- Else computing the number by putting it in the while loop,

And moving the loop till the value of num2(which is equal to 1 initially) become less than or equal to the user entered value, completing the processing of loop and in last checking that the value of num2 is equal to user entered number or not if yes, then it is a Fibonacci number. Otherwise, the user entered number is not a Fibonacci number.

- If the entered number is not a Fibonacci number, then displaying the number with appropriate given message.

Step 2

**Program code:**

#include <iostream>

using namespace std;

//main method

int main()

{

//variable declaration

int num, num1 = 0, num2 = 1, temp;

// getting input from user

cout<<"Enter a number (enter a negative number to quit): ";

cin>>num;

//if the number entered by user is negative then exit the program

if (num<0)

{

//exit statement

exit(0);

}

// 0 and 1 are fibonacci numbers

if (num1==num || num2==num)

{

cout<<"%d is a fibonacci number\n"<< num;

return 0;

}

// checking whether a given number is Fibonacci or not

while (num2 <= num)

{

//assigning the value of second number to temp variable

temp = num2;

//assigning the sum value of num1 and num2 to num2

num2 = num1 + num2;

//assigning temp varible value to num1

num1 = temp;

//if num2 is equal to the number entered by user

if (num2 == num)

{

break;

}

}

// printing the results

if (num1==num||num2==num)

{

//displaying message to user that entered number is a fibonacci number

cout<<"Yes, you got it, " <<num<< " is a Fibonacci number";

}

else

{

//displaying message to user that the entered number is not a fibonacci number

cout<<"!!!!! Sorry "<<num <<" is not a Fibonacci number";

}

return 0;

}

Step 3

Output of the above given program code:

1) If user ente...

Tagged in

Q: 4.7: Time Machine Your time machine is capable of going forward in time up to 24 hours. The machine ...

A: Program Instructions:Take the time in int variables and store extra symbols in the char extra.Pass t...

Q: What folder contains group policy templates, logon/logoff scripts, and DFS synchronization data? Gro...

A: “System Volume (SYSVOL)” folder contains group policy templates, logon scripts, and Distributed File...

Q: Then create a new Java application called "Rooter" (without the quotation marks) that does the follo...

A: This JAVA program accepts a positive integer as input and gives the square root up to 4 places of in...

Q: Consider the sender A transmits 12 data packets to B using stop wait 3rd packet is lost while transm...

A: In stop wait protocol, both the sender and receiver have a windows size of one. The lost packets in ...

Q: Design a reasonably efficient algorithm for solving each of the following problems and determine its...

A: AlgorithmLet x be one of the numbers and the other number is n-x. The first step is to maximize f(x)...

Q: What trade-offs are involved in building highly distributed data environments?

A: Trade-offs that are involved in building highly distributed data environments: 1) Availability, 2) ...

Q: Create a new file (in Dev C++) In Lab 2, you created a menu for a simple calculator program. In Lab...

A: Program AlgorithmDeclare the required variables and write a welcome message before starting the menu...

Q: Who is Alan Turnig ?

A: Alan Turing was born in the year 1912 and died in the year 1954. He was a mathematician, computer sc...

Q: Write an expression using membership operators that prints "Special number" if special_num is one of...

A: Python Program:#Declare and initialize the variablespecial_list = [-99, 0, 44]#Prompt the user to gi...