Sunteți pe pagina 1din 7

Rezolvare variante bacalaureat

Varianta Algoritm Program

10 citeşte n,k #include <iostream>


(numere naturale nenule)
nr←0 using namespace std;
p←1
┌cât timp n≠0 şi k≠0 execută int main()
│┌dacă n%2≠0 atunci {
││ nr←nr + n%10*p int n,k,nr=0,p=1;
││ p←p*10 cin>>n;
││altfel cin>>k;
││ k←k-1 while (n<=0)
│└■ cin>>n;
│ n←[n/10] while (k<=0)
└■ cin>>k;
scrie nr while(n!=0 && k!=0)
{
if(n%2!=0)
{
nr=nr+n%10*p;
p=p*10;
}
else
k=k-1;
n=n/10;
}
cout<<nr;
return 0;
}

11 citeşte n,k (numere naturale) #include <iostream>


p←1
┌cât timp n>0 şi k>0 execută using namespace std;
│ c←n%10
│ ┌dacă c%2=1 atunci int main()
│ │ p←p*c {
│ └■ int n,k,c,p=1;
│ n←[n/10] cin>>n;
│ k←k-1 cin>>k;
└■ while(n<0)
scrie p cin>>n;
while(k<0)
cin>>k;
while (n>0 && k>0)
{
c=n%10;
if(c%2==1)
p=p*c;
n=n/10;
k=k-1;
}
cout<<p;
return 0;
}

12 citeşte x #include <iostream>


(număr natural)
y←0 using namespace std;
┌cât timp x≠0 execută
│ ┌cât timp x>9 execută int main()
│ │ x←[x/10] {
│ └■ int x,y=0;
│ y←y*10+x cin>>x;
│ citeşte x while (x<0)
└■ cin>>x;
scrie y while (x!=0)
{
while (x>9)
x=x/10;
y=y*10+x;
cin>>x;
}
cout<<y;
return 0;
}

14 citeşte x #include <iostream>


(număr natural)
n←0 using namespace std;
┌cât timp x≠0 execută
│ y←x; c←0 int main()
│ ┌cât timp y>0 execută {
│ │ ┌dacă y%10>c atunci int x,y,c,n=0;
│ │ │ c←y%10 cin>>x;
│ │ └■ while (x<0)
│ │ y←[y/10] cin>>x;
│ └■ while (x!=0)
│ n←n*10+c {
│ citeşte x y=x;
└■ c=0;
scrie n while (y>0)
{
if(y%10>c)
c=y%10;
y=y/10;
}
n=n*10+c;
cin>>x;
}
cout<<n;
return 0;
}

17 citeşte x,y #include <iostream>


(numere naturale)
┌dacă x<y atunci using namespace std;
│ x←x-y
│ y←x+y int main()
│ x←y-x {
└■ int x,y;
┌cât timp x≥y execută cin>>x>>y;
│ scrie ’A’ while (x<0)
│ x←x-y cin>>x;
│ scrie ’B’ while (y<0)
└■ cin>>y;
if (x<y)
{
x=x-y;
y=x+y;
x=y-x;
}
while (x>=y)
{
cout<<'A';
x=x-y;
cout<<'B';
}

return 0;
}

18 citeşte x,y #include <iostream>


(numere naturale)
┌dacă x>y atunci using namespace std;
│ y←→x
└■ int main()
┌dacă x%2=0 atunci {
│ x←x+1 int x,y,aux;
└■ cin>>x>>y;
┌cât timp x≤y execută while (x<0)
│ x←x+2 cin>>x;
│ scrie ‘*’ while (y<0)
└■ cin>>y;
if (x>y)
{
aux=x;
x=y;
y=aux;

}
if(x%2==0)
x=x+1;
while (x<=y)
{
x=x + 2;
cout<<'*';
}

return 0;
}

20 citeşte n (număr natural) #include <iostream>


a←n%10
m←a using namespace std;
┌cât timp n>9 execută
│ n←[n/10] int main()
│ b←n%10 {
│┌dacă a>b atunci int n,m,a,b;
││ m←m*10+b cin>>n;
││ a←b while (n<0)
│└■ cin>>n;
└■ a=n%10;
scrie m m=a;
while (n>9)
{
n=n/10;
b=n%10;
if(a>b)
{
m=m*10+b;
a=b;
}
}
cout<<m;
return 0;
}

23 citeşte a,b #include <iostream>


(numere întregi)
p←0 using namespace std;
┌cât timp a≠b execută
│ p←p+1 int main()
│ ┌dacă a<b atunci {
│ │ a←a+2 int a,b,p=0;
│ │altfel cin>>a>>b;
│ │ b←b+3 while (a!=b)
│ └■ {
└■ p=p + 1;
scrie p if(a<b)
a=a + 2;
else
b=b + 3;
}
cout<<p;
return 0;
}
24 citeşte a,b #include <iostream>
(numere naturale)
p←a; q←b using namespace std;
┌dacă p=0 sau q=0 atunci
│ p←p*q; q←p*q int main()
└■ {
┌cât timp p≠q execută int a,b,p,q;
│ ┌dacă p<q atunci cin>>a>>b;
│ │ p←p+a while (a<0)
│ │altfel cin>>a;
│ │ q←q+b while (b<0)
│ └■ cin>>b;
└■ p=a;
scrie p q=b;
if (p==0 || q==0)
{ p=p*q;
q=p*q;
}
while (p!=q)
if(p<q)
p=p+a;
else
q=q+b;
cout<<p;

return 0;
}

25 citeşte a,b,c #include <iostream>


(numere naturale nenule)
┌dacă a>b atunci using namespace std;
│ t←a; a←b; b←t
└■ int main()
┌cât timp a≤b execută {
│ ┌dacă c|a atunci int a,b,c,t;
│ │ scrie a cin>>a>>b>>c;
│ └■ while (a<=0)
│ a←a+1 cin>>a;
└■ while (b<=0)
cin>>b;
while (c<=0)
cin>>c;
if (a>b)
{
t=a;
a=b;
b=t;
}
while (a<=b)
{
if(a%c==0)
cout<<a<<' ';
a=a + 1;
}
return 0;
}

27 citeste a,b #include <iostream>


(numere naturale)
c←0 using namespace std;
d←0
p←1 int main()
┌cât timp a+b+c>0 execută {
│ c←a%10+b%10+c int a,b,c=0,d=0,p=1;
│ d←d+(c%10)*p cin>>a>>b;
│ p←p*10 while(a<0)
│ a←[a/10] cin>>a;
│ b←[b/10] while(b<0)
│ c←[c/10] cin>>b;
└■ while(a+b+c>0)
scrie d {
c=a%10 + b%10 + c;
d=d +(c%10)*p;
p=p*10;
a=a/10;
b=b/10;
c=c/10;
}
cout<<d;

return 0;
}

28 citeste x #include <iostream>


(număr real pozitiv)
y←[x] using namespace std;
x←x-y
┌cât timp x≠[x] execută int main()
│ x←x*10 {
└■ float x,y;
┌dacă x=y atunci cin>>x;
│ scrie 1 while(x<0)
│altfel cin>>x;
│ scrie 2 y=int(x);
└■ x=x - y;
while(x!=int(x))
x=x*10;
if(x==y)
cout<<1;
else
cout<<2;

return 0;
}
29 citeste n,m #include <iostream>
(numere naturale)
┌cât timp n≤m execută using namespace std;
│ n←n+1
│ m←m-1 int main()
└■ {
┌cât timp m<n execută int n,m;
│ m←m+1 cin>>n>>m;
│ n←n-1 while (n<0)
└■ cin>>n;
scrie n while (m<0)
cin>>m;
while (n<=m)
{
n=n + 1;
m=m - 1;
}
while(m<n)
{
m=m + 1;
n=n - 1;
}
cout<<n;

return 0;
}

30 citeste n (număr natural) #include <iostream>


m←0
P←1 using namespace std;
┌cât timp n>0 execută
│ c←n%10 int main()
│ ┌dacă c>0 atunci {
│ │c←c-1 int n,c,p=1,m=0;
│ └■ cin>>n;
│ m←m+c*p while (n<0)
│ p←p*10 cin>>n;
│ n←[n/10] while (n>0)
└■ {
scrie m c=n%10;
if (c>0)
c= c-1;
m= m + c*p;
p= p*10;
n=n/10;
}
cout<<m;
return 0;
}

S-ar putea să vă placă și