Informatică, întrebare adresată de Mihai9786, 8 ani în urmă

Am nevoie de un program care verifica daca 2 numere sunt consecutive in sirul lui Fibonacci c++.

Răspunsuri la întrebare

Răspuns de andrei750238
2

#include <iostream>

using namespace std;

int main(){

int a,b;

cin >> a >> b;

if(a<b) swap(a,b);

while(a>1){

 a=a-b;

 swap(a,b);

}

if(a==1 && b==1) cout << "da";

else cout << "nu";

}

=====================

Explicatie :

In sirul lui Fibonacci orice termen este suma celor 2 termeni din fata lui.

Mai stim ca sirul lui Fibonacci incepe cu numerele 1 1 ....

Programul nostru merge "invers". Pe baza ultimilor doi termeni se construieste termenul din fata. Acest pas se realizeaza recursiv. Daca programul ajunge la numerele initiale (a=1 b=1) atunci stim ca numerele citite sunt doi termeni consecutivi din sirul lui Fibonacci

Alte întrebări interesante