Bac.2009-Varianta 54

Subiectul I

1. d

2. a)

b)

c)

d)

#include <iostream>

using namespace std;

int main()

{

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

int s,n,c,p,i;

cout<<"n=";cin>>n;

s=0;

while(n!=0)

{

c=n%10;

if(c%2==0)

{

p=1;

for(i=2;i<=c;i++)

p=p*i;

s=s+p;

}

n=n/10;

}

cout<<s;

return 0;

}

Subiectul II

1.

2.

3.

4.

5.

#include <iostream>

using namespace std;

int main()

{

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

int n,x,i,j;

cout<<"n=";cin>>n;

cout<<"x=";cin>>x;

int a[n][n];

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

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

if(i%2!=0)

a[i][j]=x/10;

else

a[i][j]=x%10;

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

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

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

cout<<endl;

}

return 0;

}

Subiectul III

1.

2.

3.

a)

int palindrom(int n)

{

int aux,inv=0;

aux=n;

while(aux)

{

inv=inv*10+aux%10;

aux=aux/10;

}

if(n==inv)

return 1;

else

return 0;

}

void pal(int a, int &b)

{

int i,k=0;

for(i=11;i<=a-1;i++)

if(palindrom(i))

b=i;

k=b;

i=a;

while(palindrom(i)==0)

i++;

b=i;

if(a-k<b-a)

b=k;

}

b)

#include <iostream>

#include <fstream>

using namespace std;

int palindrom(int n)

{

int aux,inv=0;

aux=n;

while(aux)

{

inv=inv*10+aux%10;

aux=aux/10;

}

if(n==inv)

return 1;

else

return 0;

}

void pal(int a, int &b)

{

int i,k=0;

for(i=11;i<=a-1;i++)

if(palindrom(i))

b=i;

k=b;

i=a;

while(palindrom(i)==0)

i++;

b=i;

if(a-k<b-a)

b=k;

}

int main()

{

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

int i,n,x,b=0;

ifstream f("date.in");

f>>n;

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

{

f>>x;

pal(x,b);

cout<<b<<" ";

}

f.close();

return 0;

}

4.

#include <iostream>

using namespace std;

int main()

{

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

int n,i,s=0;

cout<<"n=";cin>>n;

int a[n];

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

cin>>a[i];

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

if(a[i]==a[i-1]+a[i+1])

s++;

cout<<s;

return 0;

}