Care din următoarele expresii reprezintă implementarea formulei fizice E=mc2, unde toate variabilele sunt folosite pentru numere reale?
1. E = m*c*c;
2. E = m*c^2;
3. E = m*pow(c,2);
4. E = cm*c;
- 2 și 3
- 2 și 4
- 1 și 3
- 1 și 2
- 2
- 1 și 4
m*c*c și m*pow(c,2) calculează mc2. În C/C++, ^ este operatorul sau-exclusiv pe biți (care nici nu se aplică numerelor reale), nu ridicarea la putere, iar cm este un identificator nou, nu produsul lui c cu m.Corecte sunt deci expresiile 1 și 3.Fie un arbore reprezentat prin următorul vector de tați (0, 1, 2, 2, 1, 5, 1, 7, 7, 4, 4). Să se determine numărul de frunze din arbore.
- 4
- 11
- 5
- 10
- 6
- 7
Arborele are 11 noduri. Valorile care apar ca tată sunt 1, 2, 4, 5 și 7, deci aceste noduri au fii. Celelalte — 3,6,8,9,10,11 — sunt frunze: 6.Fie următoarea secvență de cod, în care x și i sunt două variabile întregi inițializate cu valorile 1, respectiv 5. Specificați care este cond astfel încât valoarea lui x să fie 0 după executarea secvenței.
while(1) {
x = x * i;
i = i - 1;
if (cond) break;
}
i<0i>0i>=1i<=1i<1i*x<1
x devine 0 doar dacă este înmulțit cu i egal cu 0, adică la al șaselea pas: x ia valorile 5,20,60,120,120,0, iar i valorile 4,3,2,1,0,−1.Bucla nu trebuie deci să se oprească pentru i de la 4 până la 0 și trebuie să se oprească la i egal cu −1: condiția i<0. Cu i<1 sau i*x<1 bucla s-ar opri când i devine 0, cu x egal cu 120, înainte de înmulțirea cu 0.Fie v un vector de numere întregi, iar i, j și k sunt trei variabile de tip întreg. Dacă n=7 și k=3, ce se va afișa după rularea secvenței următoare?
for(i=1; i<=n; i++)
for(j=0; j<=k-1; j++)
v[i+j] = k+i;
for(i=1; i<=n+k-1; i++) printf("%d ", v[i]);
4 4 4 5 5 5 6 6 74 5 6 7 8 9 9 9 94 5 6 7 8 9 10 11 127 7 7 8 8 8 9 9 93 3 3 4 4 4 5 5 54 5 6 7 8 9 10 10 10
Pentru fiecare i, pozițiile i, i+1, i+2 primesc valoarea k+i, iar o poziție păstrează ultima scriere, adică pe cea cu i cel mai mare care o atinge.Pozițiile de la 1 la 7 primesc astfel 3+p (valorile 4,5,…,10), iar pozițiile 8 și 9 sunt scrise ultima dată pentru i egal cu 7, cu valoarea 10. Se afișează 4 5 6 7 8 9 10 10 10.Fie f(n) și g(n) două funcții oarecare, unde n este număr natural. Considerăm x și y două numere naturale nenule și definim următoarele recurențe:a0=0, a1=1, an+2=an+1+an+f(n)b0=0, b1=1, bn+2=bn+1+bn+g(n)c0=0, c1=1, cn+2=cn+1+cn+x∗f(n)+y∗g(n)Cum se poate exprima cn în funcție de x, y, an, bn și Fn, unde Fn este elementul n al șirului lui Fibonacci, care este definit astfel: F0=0,F1=1,Fn+2=Fn+1+Fn?
- cn=x∗an+y∗bn+Fn
- cn=x∗an+y∗bn+(1−x−y)∗Fn
- cn=an+bn+(1−x−y)∗Fn
- cn=an+bn+(x+y)∗Fn
- cn=x∗an+y∗bn+(1+x+y)∗Fn
- cn=x∗an+y∗bn+(x+y)∗Fn
Fie dn=xan+ybn+(1−x−y)Fn. Avem d0=0 și d1=x+y+(1−x−y)=1, iar din recurențele lui an, bn și Fn rezultă dn+2=dn+1+dn+xf(n)+yg(n).Deci dn satisface aceeași recurență și aceleași condiții inițiale ca cn, adică cn=xan+ybn+(1−x−y)Fn. Termenul cu Fn corectează condiția inițială: fără el, xa1+yb1=x+y ar fi diferit de c1=1.