Să se scrie un program C++ care să citească de la tastatură un număr natural x și să verifice dacă acest număr este termen din șirul lui Fibonacci.
Vă implor, am nevoie urgent.
Dau 50 de puncte, fără răspunsuri neserioase ca dau raport.
Răspunsuri la întrebare
#include <iostream>
#include <cmath>
using namespace std;
int patr_perf(int x){
int s=sqrt(x);
return(s*s==x);
}
int fib(int n){
return patr_perf(5*n*n+4)||patr_perf(5*n*n-4);
}
int main(){
int x;
cin>>x;
if(fib(x)==1)
cout<<"Da";
else
cout<<"Nu";
return 0;
}
// O alta varianta mai simpla
#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;
int main()
{
int a,b,c,x;
cin>>x;
a=0;
b=1;
c=0;
while(true)
{
cout<<a;
c=a+b;
a=b;
b=c;
if(x==a)
{
cout<<"Numarul"<<x<<"este un termen din sirul lui Fibonacci";
break;
}
if(x<a)
{ break; // acest if este folosit pentru ca programul sa nu
} //ruleze la infinit dupa ce a trecut de x
}
}