Biletul 7 Atestat Informatica Programare

Biletul nr. 7. pentru atestat informatica la programare 2015

Mai jos este prezentat codul sursa al aplicatiei in C++, cod care va afisa daca doua numere sunt termeni consecutivi din sirul lui Fibonacci, rezultatul va fi scris in  fisierul date.out.

Enuntul problemei:

7. Fişierul date.in conţine pe unica sa linie, separate printr-un spaţiu, două numere naturale nenule, a şi b (1 ≤ a,b ≤ 1000000000). Să se verifice dacă aceste numere pot fi termeni consecutivi ai şirului Fibonacci (1,1,2,3,5,8,…). Rezultatul verificării va fi scris în fişierul date.out pe unica linie a acestui fişier sub forma unui mesaj corespunzător (DA sau NU după cum cele două numere sunt termeni consecutivi ai şirului Fibonacci sau nu).

bilet 7 atestate informatica programare

Rezolvarea problemei

#include<fstream.h>
# include <iostream.h>
int fibo(int a, int b)
{
if(a==1 && b==1)
return 1;
else
if(a>b)
return 0;
else
return fibo(b-a,a);
}
int main()
{fstream fin("date.in",ios::in), fout("date.out",ios::out);
int a,b;
fin>>a>>b;
if(fibo(a,b))
fout<<"DA";
else
fout<<"NU";
fin.close();
fout.close();
system("pause");
}

Scris de AtestateLaInformatica.ro

0