Bacalaureat 2009-Sesiunea iunie-iulie

Rezolvare bac 2009-Sesiunea de vara

Subiectul I

1. 3

2.

a) 23949

b) n∈{1008,1009}

c) citeste n(numar natural)

nr<-0

p<-1

- repeta

| c<-n%10

| -daca c>0 si c<9 atunci

| | c<c+1

| |_

|

| nr<-nr+c*p

| p<-p*10

| n<-[n/10]

| pana cand n=0

|_

scrie nr

d)

#include <iostream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

unsigned int n;

int nr,p,c;

cin>>n;

nr=0;

p=1;

while(n!=0)

{

c=n%10;

if(c>0 && c<9)

c=c+1;

nr=nr+c*p;

p=p*10;

n=n/10;

}

cout<<nr;

return 0;

}

Subiectul II

1. 5

2. 5

3. f.x=f1.x*f2.y + f1.y*f2.x;

f.y=f1.y*f2.y;

4. ideale

5.

#include <iostream>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

int a[24][24],n,i,j;

do

{

cout<<"Introduceti un numar cuprins intre 2 si 24 :";cin>>n;

}while(n<2 || n>24);

for(i=0;i<n;i++)

for(j=0;j<n;j++)

if(i==j)

a[i][j]=0;

else

a[i][j]=n-j;

for(i=0;i<n;i++)

{for(j=0;j<n;j++)

{

cout<<a[i][j]<<" ";

}

cout<<endl;

}

return 0;

}

Subiectul III

1. xk

\notin

{x1, x2, . . ., xk-1}

2. ABACABA

3.

a)

int nr(int n)

{

int f=1,c,i,t=0;

for(i=1;i<=n;i++)

f=f*i;

while(f!=0)

{

c=f%10;

if(c==0)

t++;

else

return t;

f=f/10;

}

}

b)

#include <iostream>

using namespace std;

int nr(int n)

{

int f=1,c,i,t=0;

for(i=1;i<=n;i++)

f=f*i;

while(f!=0)

{

c=f%10;

if(c==0)

t++;

else

return t;

f=f/10;

}

}

int main()

{

cout << "Hello world!" << endl;

int k,i=1,j,p;

do

{

cout<<"k=";cin>>k;

}while(k<=0 || k>1500);

do

{

nr(i);

i++;

}while(nr(i)<k);

for(j=1;j<=i;j++)

p=p*j;

cout<<"p="<<p;

return 0;

}

4.

#include <iostream>

#include <fstream>

#include <cmath>

using namespace std;

int main()

{

cout << "Hello world!" << endl;

int n,a,i,b,p;

ifstream f("BAC.TXT");

f>>n;

for(i=0;i<n;i++)

{f>>a>>b;

p=pow(2,14);

while(p>b)

p=p/2;

if(p>=a)

cout<<p<<" ";

else

cout<<"0 ";

}

f.close();

return 0;

}