Pe prima linie a fişierului date.in se găseşte un număr natural n, n≤100, iar a doua linie conţine un şir cu n numere naturale, separate prin cate un spaţiu. Sa se scrie în fişierul date.out toate numerele din şir care sunt termini din Şirul lui Fibonacci. Se va folosi o funcţie test_fibo care verifică daca un număr natural, dat ca parametru de intrare, este termen în şirul lui Fibonacci (f1=1, f2=1, fn=fn-1+fn-2, pentru n>2).
Exemplu:
date.in: 7
4 7 1 10 21 13 5
date.out: 1 21 5
Răspunsuri la întrebare
Răspuns de
1
#include <fstream>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int test_fibo(int x)
{
int f1=1,f2=1,f;
while(f2 < x)
{
f = f1 + f2;
f1 = f2;
f2 = f;
}
if ( f2 == x )
return 1;
else
return 0;
}
int main()
{
int n,x;
fin >> n;
for (int i = 1;i <= n;++i)
{
fin >> x;
if (test_fibo(x))
fout << x << ' ';
}
return 0;
}
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int test_fibo(int x)
{
int f1=1,f2=1,f;
while(f2 < x)
{
f = f1 + f2;
f1 = f2;
f2 = f;
}
if ( f2 == x )
return 1;
else
return 0;
}
int main()
{
int n,x;
fin >> n;
for (int i = 1;i <= n;++i)
{
fin >> x;
if (test_fibo(x))
fout << x << ' ';
}
return 0;
}
Alte întrebări interesante
Geografie,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă