Bacalaureat 2014-Sesiunea iunie-iulie
Subiecte bac 2014-Sesiunea de vara
Rezolvare bac 2014-Sesiunea de vara
Subiectul I
1. c
2.
a) 2 7 1
b) 25
50
c)
citeste n
(numar natural nenul)
d<-2
-repeta
| p<-0
| -cat timp n%d=0 executa
| | p<-p+1
| | n<-[n/d]
| |_
|
| -daca p%2=0 si p<>0 atunci
| | scrie 'd '
| |_
|
| d<-d+1
| pana cand d>n
|_
scrie n
d)
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
unsigned int n,d,p;
cout<<"n=";cin>>n;
d=2;
while(d<=n)
{
p=0;
while(n%d==0)
{
p=p+1;
n=n/d;
}
if(p%2==0&&p!=0)
cout<<d<<" ";
d=d+1;
}
cout<<n;
return 0;
}
Subiectul II
1. c
2. d
3. if(start.minut<stop.minut)
cout<<"acceptat";
else
if(start.minut==stop.minut)
if(start.secunda<stop.secunda)
cout<<"acceptat";
else
cout<<"respins";
else
if(start.minut>stop.minut)
cout<<"respins";
4. 7 9
5.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
int m,n,i,j;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
int a[m][n];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
for(j=0;j<n;j++)
a[m-2][j]=a[m-1][j];
for(i=0;i<m;i++)
a[i][n-2]=a[i][n-1];
cout<<endl;
for(i=0;i<m-1;i++)
{
for(j=0;j<n-1;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
Subiectul III
1. b
2. rosu roz violet albastru
rosu albastru galben roz
3.
#include <iostream>
using namespace std;
void interval(int n,int &a, int &b)
{
int i,fact=1;
for(i=1;i<=n+1;i++)
fact=fact*i;
b=fact-1;
fact=1;
for(i=1;i<=n-1;i++)
fact=fact*i;
a=fact+1;
}
4.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
ifstream f("bac.txt");
int x,a[100],aux,i,max;
for(i=1;i<100;i++)
a[i]=0;
while(f>>x)
{
while(x)
{
aux=x%100;
a[aux]=a[aux]+1;
x=x/10;
}
}
max=a[10];
for(i=11;i<100;i++)
if(max<a[i])
max=a[i];
for(i=10;i<100;i++)
if(max==a[i])
cout<<i<<" ";
f.close();
return 0;
}
Am declarat tabloul "a[100]" in care am numarat pe fiecare pozitie numarul de aparitii a numarul de doua cifre corespunzator pozitiei care se regaseste in numerele din fisier.(ex: pe pozitia 21 se regaseste numarul de aparitii a lui 21 in numerele din fisier, adica de cate ori 21 a fost subnumar). Daca pozitia i nu este nula, atunci afisam acea pozitie.
Algoritmul este eficient deoarece: este liniar, parcurge o singura data fisierul, este de tipul O(n).