Am nevoie de un program care verifica daca 2 numere sunt consecutive in sirul lui Fibonacci c++.
Răspunsuri la întrebare
Răspuns de
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
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă