Examenul de bacalaureat naţional 2018
Proba E. d)
Informatică
Limbajul C/C++
Varianta 1
4. Primii termeni ai șirului definit alăturat
(unde n este un număr natural nenul)
sunt:
0, 3, 8, 15, 24, 35, 48, 63, 80 ....
fn=
0 dacă n=1
3 dacă n=2
2∙fn-1-fn-2+2 altfel
Se citesc de la tastatură două numere naturale din intervalul [0,109], x și y,
reprezentând valorile a doi termeni aflați pe poziții consecutive în şirul dat (x
cere să se scrie în fişierul text bac.txt, în ordine strict descrescătoare, separați prin câte
un spațiu, toţi termenii şirului mai mici sau egali cu y.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei
utilizate.
Exemplu: dacă se citesc numerele
48 63
fişierul bac.txt conţine numerele
63 48 35 24 15 8 3 0
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului proiectat. (8p.)
Help!!!!!!!!!!!!!! a si in limbaj de clasa a X ! verificati , nu se afiseaza si puterea si functia
Răspunsuri la întrebare
Răspuns de
4
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("bac.txt");
int x,y,dif,t;
int main()
{
cin >> x >> y;
g << y << " " << x;
if (x!=0)
{
t=x; dif=y-x;
while (t!=3)
{
dif-=2;
t-=dif;
g << " " << t;
}
g << " " << 0;
}
}
Explicație:
63 48 35 24 15 8 3 0
Fiind dati x si y, 48 şi 63, diferenţa dintre ei este 15. Pentru a afla precedentul lui 48, scădem 13, apoi 11, apoi 9, ş.a.m.d
boiustef:
multe din aşa probleme e să se observe regula de formare a termenilor, nu folosirea formulei de recurenţă
Alte întrebări interesante
Ed. tehnologică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă