Răspuns :
Răspuns:
C++:
int n, i = 2, f1 = 0, f2 = 1, c;
cin >> n;
while (i <= n)
{
c = f1 + f2;
f1 = f2;
f2 = c;
i++;
}
if (n<=1)
cout<<n;
else
cout << c;
Pascal:
var
k, i: integer;
function fib(n: integer): longint;
begin
if (n = 1) or (n = 2) then
fib := 1
else
fib := fib(n - 1) + fib(n - 2);
end;
begin
readln(k);
i := 1;
while(fib(i) <= k) do
begin
i := i + 1;
end;
writeln(fib(i));
end.
Răspuns:
cu recursie...
Explicație:
#include <iostream>
using namespace std;
int K, x,y;
int caut(int &a, int &b)
{
if (a+b>K) return a+b;
else
{
int c=a+b;
a=b; b=c;
caut(a,b);
}
}
int main()
{
cin >> K;
x=0; y=1;
cout << caut(x,y);
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.