LICEUL TEORETIC “SOLOMON HALITA”
PROBLEME DE
INFORMATICA
REZOLVATE
ALGORITM SI PROGRAM C++
CLASA a IX‐a
1.Ecuatia de gradul I
Algoritm:
start
citeste a,b
daca a=0 atunci
daca b=0 atunci
tipareste "x orice numar real"
altfel
tipareste "ecuatie imposibila"
sfarsit daca
altfel
tipareste "x="‐b/a
sfarsit daca
stop
Program:
#include <iostream>
#include <conio.h>
using namespace std;
int a,b;
int main()
{
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
if(a==0)
if(b==0)
cout<<"x‐orice numar real";
else
cout<<"ecuatie imposibla";
else
cout<<"x="<<‐b/a;
getch();
return 0;}
2.Ecuatia de gradul II
Algoritm:
start
citeste a,b,c
daca a=0 atunci
daca b=0 atunci
daca c=0 atunci
tipareste "x1,x2 orice numar real"
altfel
tipareste "ecuatie imposibila"
sfarsit daca
altfel
tipareste "x=" ‐c/b
sfarsit daca
altfel
Delta=b*b‐4ac
daca Delta >=0 atunci
x1=(‐b+radical(Delta))/2a
x2=(‐b‐radical(Delta))/2a
tipareste "x1="x1 "x2="x2
altfel
tipareste "nu avem solutii reale"
sfarsit daca
sfarsit daca
stop
Program:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int a,b,c;
float x1,x2,D;
int main()
{
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a==0)
if(b==0)
if(c==0)
cout<<"a=0 b=0 c=0 => 0=0 => x1,x2‐orice numere reale"<<endl;
else
cout<<"a=0 b=0 c‐diferit de 0 => c=0 => ecuatie imposibila"<<endl;
else
cout<<"a=0 => bx+c=0 => ecuatie de grad 1 => solutia=‐b/c=x x="<<‐b/a<<endl;
else
{
cout<<"toate numerele sunt nenule => se calculeaza delta dupa formula D=(b*b)‐(4*a*c)"<<endl;
D=(b*b)‐(4*a*c);
if(D>0)
{
cout<<"delta este mai mare decat zero => calculam pe x1 si x2 dupa formulele:x1=(‐b‐radical din
D)/(2*a) si x2=(‐b+radical din D)/(2*a)"<<endl;
x2=(‐b+sqrt(D))/(2*a);
x1=(‐b‐sqrt(D))/(2*a);
cout<<"x1="<<x1<<" "<<"x2="<<x2<<endl;
}
else
cout<<"Delta este negativ => ecuatie imposibila"<<endl;
getch();
return 0;}
}
3. Se citesc 4 intregi numere sa se determine daca exista printre ele 3 numere pozitive.
Algoritm:
start
citeste a,b,c,d
daca((a>0 si b>0 si c>0) sau (a>0 si b>0 si d>0) sau (a>0 si c>0 si d>0) sau (b>0 si c>0 si d>0))
tipareste "avem trei numere pozitive"
altfel
tipareste "nu avem trei numere pozitive"
sfarsit daca
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long a,b,c,d;
int main()
{
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if((a>0 && b>0 && c>0) || (a>0 && b>0 && d>0) || (a>0 && c>0 && d>0) || (b>0 && c>0 && d>0))
cout<<"avem trei numere pozitive";
else
cout<<"nu avem trei numere pozitive";
getch();
return 0;
}
4. Se citeste un numar pozitiv,intreg,de maxim 5 cifre sa se determine cate cifre are numarul
Algoritm:
start
citeste n
daca n<10 atunci
tipareste "are o cifra"
altfel
daca n<100 atunci
tipareste "are 2 cifre"
altfel
daca n<1000 atunci
tipareste "are 3 cifre"
altfel
daca n<10000 atunci
tipareste "are 4 cifre"
altfel
daca n<100000 atunci
tipareste "are 5 cifre"
altfel
tipareste "nu respecta conditia"
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n;
int main()
{
cout<<"n=";cin>>n;
if(n<10)
cout<<"are o cifra";
else
if(n<100)
cout<<"are 2 cifre";
else
if(n<1000)
cout<<"are 3 cifre";
else
if(n<10000)
cout<<"are 4 cifre";
else
if(n<100000)
cout<<"are 5 cifre";
else
cout<<"nu respecta conditia";
getch();}
5.Se citesc 3 nr. Sa se det.care este mai mare.
Algoritm :
start
citeste a,b,c,
daca a>b,atunci
daca a>c,atunci
tipareste a
altfel
tipareste c
sf.daca
daca b>c,atunci
tipareste b
altfel
tipareste c
sf.daca
sf.daca
stop
Program :
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a>b)
if(a>c)
cout<<"nr mai mare este"<<a;
else
cout<<"nr mai mare este"<<c;
else
if(b>c)
cout<<"nr mai mare este"<<b;
else
cout<<"nr mai mare este"<<c;
getch();
return 0;}
6.Se citesc 4 nr. Sa se det. daca exista 3 nr a caror suma sa fie pozitiva.
Algoritm :
start
citeste a,b,c,d
daca a+b+c>0 sau a+b+d>0 sau b+c+d>0,atunci
tipareste"suma este pozitiva"
altfel
tipareste"suma nu este pozitiva"
sf.daca
stop
Program :
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if((a+b+c>0)||(a+b+d>0)||(b+c+d>0))
cout<<"suma este pozitiva";
else
cout<<"suma nu este pozitiva";
getch();
return 0;}
7.Se citesc 4 nr. Sa se det. daca exista 3 nr. a caror produs sa fie pozitiv.
Algoritm :
start
citeste a,b,c,d
daca a*b*c>o,sau a*b*d>0,sau b*c*d>0,atunci
tipareste"produsul este pozitiv"
altfel
tipareste"produsul nu este pozitiv"
sf.daca
stop
Program :
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if((a*b*c>0)||(a*c*d>0)||(b*c*d))
cout<<"produsul este pozitiv";
else
cout<<"produsul nu este pozitiv";
getch();
return 0;}
8.Se citesc 4nr. Sa se det. daca sunt 3 pozitive.
Algoritm :
start
citeste a,b,c,d
daca((a>0 si b>0 si c>0) sau (a>b si b>0 si d>0) sau (a>0 si c>c si d>0) sau (b>0 si c>0 si d>0))
tipareste"sunt trei nr pozitive"
altfel
tipareste"nu sunt trei nr pozitive"
sf.daca
stop
Program :
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if((a>0&&b>0&&c>0)||(a>0&&b>0&&d>0)||(a>0&&c>0&&d>0)||(b>0&&c>0&&d>0))
cout<<"sunt trei nr. pozitive";
else
cout<<"nu sunt trei nr. pozitive";
getch();
return 0;}
9.Sa se scrie un algoritm care citeste 3 numerele si determina daca cele trei numere pot reprezenta
laturile unui triunghi.In caz afirmativ sa se determine tipul trunghiului,perimetrul si aria acestuia.
Algoritm:
Start
Citeste a,b,c
Daca a>0 si b>o si c>0 si a+b>c si a+c>b si b+c>a atunci
Tipareste”pot reprezenta laturile unui triunghi”
Daca a=b si a=c atunci
Tipareste”triunghi echilateral”
Altfel
Daca a=b sau a=c sau b=c atunci
Tipareste”isoscel”
Sfarsit daca
Daca a*a=b*b+c*c sau b*b=a*a‐c*c sau c*c=a*a+b*b atunci
Tipareste”dreptunghic”
Sfarsit daca
Daca a=b si a=c si b==c si a*a+b*b=c*c si b*b+c*c=a*a atunci
Tipareste”oarecare”
Sfarsit daca
Sfarsit daca
P=a+b+c
Tipareste”perimetrul este”,P
R=P/2
A=p(p‐a)(p‐b)(p‐c)
Tipareste”aria este”,A
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c;
flout A,P;
int main();{
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b)
{cout<<"pot reprezenta laturile unui tringhi";
if(a==b&&a==c)
cout<<"triunghiul este echilateral";
else
if(a==b||a==c||b==c)
cout<<"triunghiul este isoscel";
else
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
cout<<"triunghiul este dreptunghic";
else
cout<<"triunghiul este oarecare";
P=a+b+c;
cout<<"perimetrul este"<<P;
P=P/2;
A=sqrt(P*(P‐a)*(P‐b)*(P‐c));
cout<<"aria este"<<A;}
else
cout<<"nu pot reprezenta laturile unu triunghi";
getch();
return 0;}
10. Se citesc trei numere sa se determine daca ele pot reprezenta ca unghiuri ale unui triunghi.
Algoritm:
Start
Citeste a,b,c
Daca a>0 si b>0 si c>0 si a+b+c=180 atunci
Tipareste”pot reprezenta unghiurile unui triunghi”
Daca a=b si a=c atunci
Tipareste”echilateral”
Altfel
Daca (a=b sau b=c sau a=c) si(a=90 sau b=90 sau c=90)atunci
Tipareste”isoscel dreptunghic”
Altfel
Daca a=b sau b=c sau a=c atunci
Tipareste “isoscel”
Altfel
Daca a=90 sau b=90 sau c=90 atunci
Tipareste”dreptunghic”
Altfel
Tipareste”oarecare”
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Altfel
Tipareste”nu pot reprezenta unghiurile unui triunghi”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c;
int main();{
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<"c=";cin>>c;
if(a>0&&b>0&&c>0&&a++c==180)
cout<<"pot reprezenta unghiurile unui triunghi";
if(a==b&&a==c)
cout<<"triunghiul echilateral";
else
if(a==b||b==c||a==c)
cout<<"triunghiul este isoscel";
else
if(a==90||b==90||c==90)
cout<<"triunghiul este dreptunghic";
else
cout<<"triunghiul este oarecare";
else
cout<<"triunghiul este oarecare";}
else
cout<<"nu pot reprezenta unghiurile unui triunghi";
getch();
return 0;}
11. Se dau patru numere sa se determine daca ele ar putea reprezenta laturile unui dreptunghi,iar in
caz afirmativ sa se determine aria si perimetrul.
Algoritm:
Start
Citeste a,b,c,d
Daca a>0 si b>0 si c>0 si d>0 si a=b si c=d sau a=c si a=d atunci
Tipareste”pot reprezenta laturile unui dreptunghi”
P=a+b+c+d
Tipareste”perimetrul este”P
Daca a!=b atunci
A=a*b
Altfel
A=a*c
Sfarsit daca
Tipareste”aria este”A
Altfel
Tipareste”nu pot reprezenta laturile unui dreptunghi”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d,A,P;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if(a>0&&b>0&&c>0&&d>0&&a=b&&c=d||a=c&&a=d atunci
cout<<"pot reprezenta laturie unui dreptunghi";
P=a+b+c+d;
cout<<"perimetrul este"<<P;
if a!=b
A=a*b
else
A=a*c
cout<<"aria este"<<A;
else
cout<<"nu pot reprezenta laturile unui dreptunghi";
getch();
return 0;}
12. Sa se scrie un algoritm care citeste trei numere si afiseaza numerele citite in rodine crescatoare.
Algoritm:
Start
Citeste a,b,c
Daca a>b atunci
Daca b>c atunci
Tipareste c,b,a
Altfel
Daca a>c atunci
Tipareste b,c,a
Altfel
Tipareste b,a,c
Sfarsit daca
Sfarsit daca
Altfel
Daca b<c atunci
Tipareste a,b,c
Altfel
Tipareste a,c,b
Sfarsit daca
Altfel
Tipareste c,a,b
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a>b)
if(b>c)
cout<<c<<","<<b<<","<<a<<endl;
else
if(a>c)
cout<<b<<","<<c<<","<<a<<endl;
else
cout<<b<<","<<a<<","<<c<<endl;
else
if(b<c)
cout<<a<<","<<b<<","<<c<<endl;
else
cout<<a<<","<<c<<","<<b<<endl;
else
cout<<c<<","<<a<<","<<b<<endl;
getch();
return 0;}
13. Se citesc 3 numere sa se determine daca cele 3 numere respecta proprietatea,teorema lui
Pitagora.
Algoritm:
Start
Citeste a,b,c
Daca a*a+ b*b=c*c sau a*a+c*c=b*b sau b*b+c*c=a*a atunci
Tipareste "respecta teorema lui Pitagora"
Altfel
Tipareste "nu respecta teorema lui Pitagora”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c;
int main(){
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
if(((a*a+b*b)==c*c)||((a*a+c*c)==b*b)||((b*b+c*c)==a*a))
cout<<"respecta teorema lui Pitagora";
else
cout<<"nu respecta teorema lui Pitagora";
getch();
return 0;
}
14. Se citesc 3 numere. Sa se determine daca cele 3 numere au acelasi numar de cifre.Numerele pot
sa aiba maxim 5 cifre .
Algoritm:
start
citeste a,b,c
x=y=z=0
cat timp a≠0 executa
x=x+1
a=cat(a,10)
sfarsit cat timp
cat timp b≠0 executa
y=y+1
b=cat(b,10)
sfarsit cat timp
cat timp c≠0 executa
z=z+1
c=cat(c,10)
sfarsit cat timp
daca x=y=z
tipareste"numerele au acelasi numar de cifre"
altfel
tipareste"numerele nu au acelasi numar de cifre"
sfarsit cat timp
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,x,y,z;
int main(){
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
x=y=z=0;
while(a)
{x++;
a=a/10;}
while(b)
{y++;
b=b/10;}
while(c)
{z++;
c=c/10;}
if(x==y&&y==z)
cout<<"au acelasi numar de cifre";
else
cout<<"nu au acelasi numar de cifre";
getch();
return 0;
}
15. Se citesc 4 numere. Sa se afiseze numerele in ordine crescatoare.
Algoritm:
start
citeste a,b,c,d
daca a<b<c<d atunci
tipareste "a<b<c<d"
daca a<b<d<c atunci
tipareste "a<b<d<c"
daca a<c<b<d atunci
tipareste "a<c<b<d"
daca a<c<d<b atunci
tipareste "a<c<d<b"
daca a<d<b<c atunci
tipareste "a<d<b<c"
daca a<d<c<b atunci
tipareste "a<d<c<b"
daca b<a<c<d atunci
tipareste "b<a<c<d"
daca b<a<d<c atunci
tipareste "b<a<d<c"
daca b<c<a<d atunci
tipareste "b<c<a<d"
daca b<c<d<a atunci
tipareste "b<c<d<a"
daca b<d<a<c atunci
tipareste "b<d<a<c"
daca b<d<c<a atunci
tipareste "b<d<c<a"
daca c<b<a<d atunci
tipareste "c<b<d<a"
daca c<b<a<d atunci
tipareste "c<a<b<d"
daca c<b<a<d atunci
tipareste "c<a<d<b"
daca c<b<a<d atunci
tipareste "c<a<d<b"
daca c<d<a<b atunci
tipareste "c<d<a<b"
daca c<d<b<a atunci
tipareste "c<d<b<a"
daca d<a<b<c atunci
tipareste "d<a<b<c"
daca d<a<c<b atunci
tipareste "d<a<c<b"
daca d<b<a<c atunci
tipareste "d<b<a<c"
daca d<b<c<a atunci
tipareste "d<b<c<a"
daca d<c<a<b atunci
tipareste "d<c<a<b"
daca d<c<b<a atunci
tipareste "d<c<b<a"
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
sfarsit daca
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d;
int main(){
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
cout<<"d="; cin>>d;
if(a<b&&b<c&&c<d)
cout<<a<<"<"<<b<<"<"<<c<<"<"<<d;
if(a<b&&b<d&&d<c)
cout<<a<<"<"<<b<<"<"<<d<<"<"<<c;
if(a<c&&c<b&&b<d)
cout<<a<<"<"<<c<<"<"<<b<<"<"<<d;
if(a<c&&c<d&&d<b)
cout<<a<<"<"<<c<<"<"<<d<<"<"<<b;
if(a<d&&d<b&&b<c)
cout<<a<<"<"<<d<<"<"<<b<<"<"<<c;
if(b<a&&a<c&&c<d)
cout<<b<<"<"<<a<<"<"<<c<<"<"<<d;
if(b<a&&a<d&&d<c)
cout<<b<<"<"<<a<<"<"<<d<<"<"<<c;
if(b<c&&c<a&&a<d)
cout<<b<<"<"<<c<<"<"<<a<<"<"<<d;
if(b<c&&c<d&&d<a)
cout<<b<<"<"<<c<<"<"<<d<<"<"<<a;
if(b<d&&d<a&&a<c)
cout<<b<<"<"<<d<<"<"<<a<<"<"<<c;
if(b<d&&d<c&&c<a)
cout<<b<<"<"<<d<<"<"<<c<<"<"<<a;
if(c<b&&b<a&&a<d)
cout<<c<<"<"<<b<<"<"<<a<<"<"<<d;
if(c<b&&b<d&&d<a)
cout<<c<<"<"<<b<<"<"<<d<<"<"<<a;
if(c<d&&d<a&&a<b)
cout<<c<<"<"<<d<<"<"<<a<<"<"<<b;
if(c<d&&d<b&&b<a)
cout<<c<<"<"<<d<<"<"<<b<<"<"<<a;
if(d<a&&a<b&&b<c)
cout<<d<<"<"<<a<<"<"<<b<<"<"<<c;
if(d<a&&a<c&&c<b)
cout<<d<<"<"<<a<<"<"<<c<<"<"<<b;
if(d<b&&b<a&&a<c)
cout<<d<<"<"<<b<<"<"<<a<<"<"<<c;
if(d<b&&b<c&&c<a)
cout<<d<<"<"<<b<<"<"<<c<<"<"<<a;
if(d<c&&c<b&&b<a)
cout<<d<<"<"<<c<<"<"<<b<<"<"<<a;
getch();
return 0;
}
16. Se citeste un numar format din exact 5 cifre sa se tipareasca suma cifrelor numarului.
Algoritm:
start
citeste x
s=0
cat timp x≠0 executa
s=s+rest(n,10)
x=cat(x,10)
sfarsit cat timp
tipareste s
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int s,x;
int main (){
s=0;
cout<<”x=0” cin>>x;
while(x)
{s=s+n%10;
x=x/10;}
cout<<s;
getch();
return 0;
}
17.Se citeste un numar. Sa se determine suma cifrelor pare si respectiv suma cifrelor impare.
Numarul contine cinci cifre.
Algoritm:
START
citeste a
C5=rest(a,10)
C4=rest(cat(a,10),10)
C3=rest(cat(a,100),10)
C2=rest(cat(a,1000),10)
C1=rest(a,10000)
P=0
I=0
Daca rest(C1,C2)=O atunci
P=P+C1
Altfel
I=I+C1
Sfarsit daca
Daca rest(C2,2 )=0 atunci
P=P+C2
Altfel
I=I+C2
Sfarsit daca
Daca rest( C3,2)=0 atunci
P=P+C3
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,p,i;
int main(){
cout<<"n=";
cin>>n;
if(n>=10000&&n<100000)
{while(n)
{if((n%10)%2==0)
p+=n%10;
else
i+=n%10;
n=n/10;}
cout<<"suma cifrelor pare este"<<p;
cout<<"suma cifrelor impare este"<<i;}
else
cout<<"nu respecta conditia";
getch();
return 0;}
18. Se citesc doua numere care contin exact patru cifre. Sa se afiseze suma cifrelor de pe fiecare din
cele patru pozitii ale numerelor.
Algoritm:
START
Citeste c,d
C1= cat(c,1000)
C2=rest(cat(c,100),10)
C3=rest(cat(c,10),10)
C4=rest(c,10)
D1= cat(d,1000)
D2=rest(cat(d,100),10)
D3=rest(cat(d,10),10)
D4=rest(d,10)
Tipareste “pozitia 1” , C1+D1
Tipareste”pozitia 2”,C2+D2
Tipareste “pozitia 3”,C3+D3
Tipareste”pozitia 4”, C4+D4
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int x,y,a;
int main(){
cout<<"x="; cin>>x;
cout<<"y=";cin>>y;
a=1;
while(x&&y)
{ cout<<"suma cifrelor de pe pozitia "<<a<<"este"<<x%10+y%10<<endl;
x=x/10;
y=y/10;
a++;}
getch();
return 0;}
19.Se citeste un numar de exact patru cifre. Sa se determine cea mai mica cifra a sa.
Algoritm:
START
Citeste a
C1=cat(a,1000)
C2=rest(cat(a,100),10)
C3=rest(cat(a,10),10)
C4=rest(a,10)
min=C1
Daca min>C2 atunci
min=C2
Sfarsit daca
Daca min>C3 atunci
min=C3
Sfarsit daca
Daca min>C4 atunci
min=C4
Sfarsit daca
Tipareste “min”, este valoarea cea mai mica
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,m;
int main (){
cout<<"n=";cin>>n;
m=9;
if(n>=1000&&n<10000)
{while(n)
{if(n%10<=m)
m=n%10;
n=n/10;}
cout<<"cea mai mica cifra este"<<m;}
else
cout<<"numarul nu are patru cifre";
getch();
return 0;}
20. Se citeste un numar format din sase cifre. Sa se numere cate dintre cifrele sale sunt cuprinse in
intervalul [3,6].
Algoritm:
START
Citeste a
C1= cat(a,100000)
C2=rest(cat(a,10000),10)
C3=rest(cat(a,1000),10)
C4=rest(cat(a,100),10)
C5=rest(cat(a,10),10)
C6=rest(a,10)
P=0
Daca C1>=3 si C1<=6 atunci
P=P+1
Sfarsit daca
Daca C2>=3 si C2<=6 atunci
P=P+1
Sfarsit daca
Daca C3>=3 si C3<=6 atunci
P=P+1
18.Sfarsit daca
Daca C4>=3 si C4<=6 atunci
P=P+1
Sfarsit daca
Daca C5>=3 si C5<=6 atunci
P=P+1
Sfarsit daca
Daca C6>=3 si C6<=6 atunci
P=P+1
Sfarsit daca
Tipareste “avem”, P, “cifre in intervalul [3,6]”
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,p;
int main(){
cout<<"n="; cin>>n;
if(n>=100000&&n<1000000)
{ while(n)
{if(n%10>=3&&n%10<=6)
p++;
n=n/10;}
cout<<"sunt"<<p<<"cifre cuprinse in intervalul [3,6]";}
else
cout<<"nu respecta conditia";
getch();
return 0;}
21. Se citeste un numar care contine exact patru cifre .Sa se afiseze catul si restul impartirii primului
numar format din primele doua cifre ale numarului la numarul format din ultimele doua cifre.
Algoritm:
Start
Citeste a
C1= cat (a,100)
C2=rest(a,100)
Tipareste “restul este” , rest (C1,C2)
Stop.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int C1,C2,a;
int main(){
cout<<"a="; cin>>a;
C1=a/100;
C2=a%100;
cout<<"catul este " <<C1/C2;
cout<<"restul este "<<C1%C2;
getch();
return 0;}
22. Se citesc doua numere care contin cate trei cifre fiecare.Sa se afiseze numarul format din prima
cifra de la primul numar ,cifra a doua cea mai mare de la ambele numere si cifra a treia de la ultimul
numar.
Algoritm :
Start
Citeste a,b
Daca a >= 100 si a<= 1000 si b>= 100 si b<= 1000 atunci
Daca rest(cat(a,10),10) > rest(cat(b,10),10) atunci
Tipareste “numarul este” , cat(a,10)* 10 + rest (b,10)
Altfel
Tipareste “numarul este”, cat(a,100)* 100 + rest (b,100)
Sfarsit daca
Altfel
Tipareste “numerele nu sunt formate din trei cifre”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int C1,C2,a;
int main(){
cout<<"a="; cin>>a;
C1=a/100;
C2=a%100;
cout<<"catul este " <<C1/C2;
cout<<"restul este "<<C1%C2;
getch();
return 0;}
23. Se citeste un numar care contine exact trei cifre.Sa se determine cel mai mare numar care se
poate forma din cifrele sale.
Algoritm :
Start
Citeste a
C1=cat (a,100)
C2=rest(cat(a,10),10)
C3=rest(a,10)
Daca C1>C2 si C2> C3 atunci
Tipareste C1*100+C2*10 +C3
Altfel
Daca C1>C3 si C3>C2 atunci
Tipareste C1*100 +C3*10 +C2
Altfel
Daca C2>C1 si C1>C3 atunci
Tipareste C2*100 +C1*10 +C3
Altfel
Daca C2>C3 si C3>C1 atunci
Tipareste C2*100 +C3*10 + C1
Altfel
Daca C3>C1 si C1>C2 atunci
Tipareste C3*100 +C1*10 +C2
Altfel
Tipareste C3*100+C2*10 +C1
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Stop
Program:
#include <iostream>
#include<conio.h>
using namespace std;
int a,C1,C2,C3;
int main(){
cout<<"a="; cin>>a;
C1=a/100;
C2=(a/10)%10;
C3=a%10;
if(C1>C2 && C2>C3)
cout<< C1*100+C2*10+C3;
else
if(C1>C3 && C3>C2)
cout << C1*100+C3*10+C2;
else
if(C2>C1 && C1>C3 )
cout<<C2*100+C3*10+C1;
else
if(C2>C3&&C3>C1)
cout<< C2*100+C3*10+C1;
else
cout <<C3*100+C2*10+C1;
getch();
return 0;}
24.Se citeste un numar.Sa se determine suma cifrelor sale.
Algoritm :
Start
Citeste n
S=0
Cat timp n #0 executa
S=S+rest (n,10)
n=cat(n,10)
Sfarsit cat timp
Tipareste “suma este “ S
Stop
Program:
#include <iostream>
#include <conio.h >
using namespace std;
int n,S;
int main(){
cout<<"n=" ; cin>>n;
S=0;
while (n)
{S=S+n%10;
n=n/10;}
cout<< "Suma este"<< S ;
getch ();
return 0;}
25. Sa sescrie un algoritm care citeste suma cifrelor pare si suma cifrelor impare ale unui numar.
Algoritm:
Start
Citeste n
P=0
Cat timp n!=0 executa
Daca rest(n,2)=0 atunci
P=P+rest (n,10)
Altfel
I=I+rest(n,10)
Sfarsit daca
n=cat(n,10)
Sfarsit cat timp
Tipareste “Suma cifrelor pare este” ,P ,”iar suma cifrelor impare este” , I;
Stop
Program:
#include <iostream>
#include<conio.h>
using namespace std;
int P,I,n;
int main (){
cout<<”n=”;cin>>n;
P=0;I=0;
While (n!=0)
If (n%2==0)
P+=n%10;
Else
I+=n%10;
cout<<”Suma cifrelor pare este”<<P<<”,”<<”iar suma cifrelor impare este<<I;
getch ();
return 0;}
26. Sa se scrie un algoritm care citeste un numar si numara cate cifre pare si cate impare are
numarul.
Algoritm:
Start
Citeste n
P=0
I=0
Cat timp n!=0 executa
Daca rest(n,2)=0 atunci
P=P+1
Altfel
I=I+1
Sfarsit daca
n=cat(n,10)
Sfarsit cat timp
Tipareste “Numarul are” ,P, “cifre pare si” ,I, “cifre impare”;
Stop
Program:
#include <iostream>
#include<conio.h>
using namespace std;
int n,P,I;
int main (){
cout<<”n=”;cin>>n;
P=0;I=0;
While (n!=0)
If (n%2==0)
P+=1;
else
I+=1;
cout<<”Numarul are ”<<P<<” cifre pare si “<<I<<” cifre impare”;
getch();
return 0;}
27.Se citeste un numar. Sa se determine oglinda numarului.
Algoritm:
Start
Citeste n
P=0
Cat timp n!=0 executa
P+=rest(n,10)
n=cat(n,10)
Sfarsit cat timp
Tipareste “Oglinda numarului citit este” ,P;
Stop
Program:
#include <iostream>
#include<conio.h>
using namespace std;
int n,P;
int main (){
cout<<”n=”;cin>>n;
P=0;
While (n!=0)
P=P*10+(n%10);
n=n/10;
cout<<”Oglinda numarului citit este”<<P;
getch ();
return 0;
28.Se citeste un numar . Sa sedetermine daca numarul este palindrom.
Algoritm:
Start
Citeste n
A=n
P=0
Cat timp n!=0 executa
P=P*10+rest(n10)
n=cat(n,10)
Sfarsit cat timp
Daca A=P atunci
Tipareste “Numarul este palindrom”
Altfel
Tipareste “Numarul nu este palindrom”
Sfarsit daca
Stop
Program:
#include <iostream>
#include<conio.h>
using namespace std;
int n,A,P;
int main (){
cout<<”n=”;cin>>n;
A=n;P=0;
while (n!=0)
P=P*10+(n%10);
n=n/10;
If (A=P)
Cout<<”Numarul este palindrom”;
Else
Cout<<”Numarul nu este palindrom”;
Getch ();
Return 0;}
29.Se citesc doua numere sa se determine cel mai mare divizor comun al celor doua numere.
Algoritm:
Start
citeste a,b
x=a
y=b
Cat timp a=!b executa
Daca a>b atunci
a=a‐b
altfel
b=b‐a
Sfarsit daca
Sfarsit cat timp
Tipareste"cel mai mic divizor comun(",x,",",y,")=",b
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,p,a,b,x,y,i;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
x=a;
y=b;
while(a=!b)
{if(a>b)
a=a‐b;
else
b=b‐a;}
cout<<"cel mai mare divizor comun este a nr"<<x<<","<<y<<"este"<<a;
getch();
return 0;}
30.Un bancher are un seif cu cifru, pentru a nu‐l uita cifru vrea sa scrie pe o foaie codificat.
Fiecare cifra sa fie inlocuita cu diferenta dintre cifra noua si cifra respectiva.
Si‐a ales un cifru ajutati‐l sa‐l codifice.Cifra este diferita de noua.
Algoritm:
START
citeste n
P=0
Cat timp n=!0 executa
P=p*10+9‐rest(n,10)
n=cat(n,10)
Sfarsit cat timp
A=0
Cat timp P=!0 executa
A=A*10+rest(P,10)
P=cat(P,10)
Sfarsit cat timp
Tipareste"cifrul codificat este"A
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,maxd,a,p,x,i;
int main(){
cout<<"n=";cin>>n;
p=0;
while(n)
{p=p*10+9‐n%10;
n=n/10;}
a=0;
while(p)
{a=a*10+p%10;
p=p/10;}
cout<<"cifrul codificat este"<<a;
getch ();
return 0;}
31.Se citeste un numar sa se afiseze divizorii lui.
Algoritm:
Start
Citeste n
Pentru i=1la n
Daca rest(n,i)=0 atunci
Tipareste i,","
Sfarsit daca
Sfarsit pentru
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,i;
int main(){
cout<<"n=";cin>>n;
for(i=1;1<n;i++)
if (n%i==0)
cout <<i<<" ";
getch();
return 0;}
32.Se citeste un numar sa se numere cati divizori pozitivi are numarul.
Algoritm:
START
Citeste n
d=0
Pentru i=1 la n
Daca rest(n,i)=0 atunci
d=d+1
Sfarsit daca
Sfarsit pentru
Tipareste n"are",d "divizori"
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,I,d;
int main(){
cout<<”n=”;cin>>n;
d=0;
for(i=1;i<=n;i++)
if(n%i==0)
d++;
cout<<”numarul “<<n<<” are “<<d<<” divizori”;
getch();
return 0;}
33.Se citeste un numar n sa se determine daca el este prim sau nu.
Algoritm:
Start
Citeste n
Prim=1
Pentru i=2 la n‐1
Daca rest (n,i)=o atunci
Prim=0
Sfarsit daca
Sfarsit pentru
Daca prim =1
Tipareste ,,numarul este prim”
Altfel
Tipareste,, numarul nu este prim”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int prim,n,d;
int main(){
cout<<"n=";cin>>n;
prim =1;
for(d=2;d<n;d++)
{if (n%d==0)
prim =0;}
if (prim ==1)
cout<<"numarul este prim";
else
cout<<"numarul nu este prim";
getch();
return 0;}
34. Sa se afiseze toate nr prime de 4 cifre care au ultimele 2 cifrele in ordine crescatoare.
Algoritm:
START
Pentru i=1000 la 9999
Prim=1
Pentru D=2 la i‐1
Daca rest (i,D)=0 atunci
Prim=0
Sfarsit daca
Gasit cresc=1
Cat timp( D=!0)executa
Daca rest (D,10)>rest(cat(D,10),10)
gasit cresc=0
D=cat(D,10)
sfarsit daca
Sfarsit cat timp
Daca prim *gasit cresc!=0
Tipareste D
sfarsit daca
Sfarsit pentru
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n;
int main(){
cout<<"n=";cin>>n;
if(n%10>(n/10)%10)
cout<<"numarul respecta conditia";
else
cout<<"numarul nu respecta conditia";
getch();
return 0;}
35.Sa se numere cate numere de 5 cifre contin 3 cifre pare si ultimele 3 cifre in ordine
descrescatoare.
Algoritm:
START
S=0
Pentru i=10000 la 99999
P=0
X=i
Cat timp x!=0 executa
Daca rest (x,2)=0 atunci
P=P+1
Sfarsit daca
X=cat(x,10)
Sfarsit cat timp
Daca P=3 SI rest(i,10)<rest(cat(i,10)10)si rest(cat(i,10),10)<rest(cat(I,100),10)atunci
S=S+1
Sfarsit daca
Sfarsit pentru
Tipareste S
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,i,j,par,g,d,s;
int main()
{ s=0;
for(i=10000;i<100000;i++)
{par=0;
d=i;
while(d)
{if (d%2==0)
par++;}
if((par==3)&&(i%10)<(i/10)%10&&(i/10)%10<(i/100)%10)
s++;
cout<<s;}
getch();
return 0;}
36.Se citeste un numar natural n de 4 cifre.afisati daca are sau nu ultimele 2 cifrele in ordine
crescatoare.
Algoritm:
start
citeste n
daca rest (n,10)>rest (cat((n,10)) atunci
tipareste"numarul respecta onditia
altfel
tipareste numarul nu respecta conditia
sfarsit daca
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n;
int main(){
cout<<"n=";cin>>n;
if(n%10>(n/10)%10)
cout<<"numarul respecta conditia";
else
cout<<"numarul nu respecta conditia";
getch();
return 0;}
37. Ecuatia de gradul II
Algoritm:
Start
Citeste a,b,c
Daca a=0,atunci
Daca b=0,atunci
Daca c=0,atunci
Tipareste “x1,x2 orice numar real”
Altfel
Tipareste “ecuatia imposibila”
Sfarsit daca
Altfel
Tipareste “x=”,‐
Sfarsit daca
Altfel
∆=b2‐4ac
Daca ∆≥0 atunci
x1=
√∆
√∆
x2=
Tipareste “x1=”,x1
Tipareste “x2=”,x2
Altfel
Tipareste “nu avem solutii reale”
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int a,b,c,d;
float x1,x2;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a==0)
if(b==0)
if(c==0)
cout<<"x1,x2 orice numar real";
else
cout<<"x="<<‐c/b;
else
{d=b*b‐4*a*c;
if(d>=0)
{x1=(‐b+sqrt(d))/(2*a);
x2=(‐b‐sqrt(d))/(2*a);
cout<<"x1="<<x1;
cout<<"x2="<<x2;}
else
cout<<"nu avem solutii reale";}
getch();
return 0;}
38.Se citeste un numar de maxim 5 cifre ,intreg, pozitiv,sa se afiseze numarul.
Algortim:
Start
Citeste n
Daca n<10,atunci
Tipareste ”are o cifra”
Altfel
Daca n<100,atunci
Tipareste”are doua cifre”
Altfel
Daca n<1000,atunci
Tipareste “are trei cifre”
Altfel
Daca n<10000,atunci
Tipareste “are patru cifre”
Altfel
Daca n<100000,atunci
Tipareste “are cinci cifre”
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a;
int main(){
cout<<"a=";cin>>a;
if(a<10)
cout<<"are o cifra";
else
if(a<100)
cout<<"are doua cifre";
else
if(a<1000)
cout<<"are trei cifre";
else
if(a<10000)
cout<<"are patru cifre";
else
if(a<100000)
cout<<"are cinci cifre";
getch();
return 0;}
39. Se citesc doua numere sa se afiseze care dintre ele este mai mare.
Algoritm:
Start
Citeste a,b
Daca a>b,atunci
Tipareste a
Altfel
Daca b>a,atunci
Tipareste b
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
if(a>b)
cout<<"numarul mai mare este"<<a;
else
if(b>a)
cout<<"numarul mai mare este"<<b;
else
cout<<"numerele sunt egale";
getch();
return 0;}
40. Se citesc trei numere sa se afiseze care dintre ele este mai mare.
Algoritm:
Start
Citeste a,b,c
Daca a>b si a>c,atunci
Tipareste a
Altfel
Daca b>c si b>a,atunci
Tipareste b
Altfel
Tipareste c
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a>b)
if(a>c)
cout<<"numarul mai mare este"<<a;
else
cout<<"numarul mai mare este"<<c;
else
if(b>c)
cout<<"numarul mai mare este"<<b;
else
cout<<"numarul mai mare este"<<c;
getch();
return 0;}
41.Se citesc 4 nr intregi. Sa se determine daca cel putin 2 nr sunt pozitive.
Algortim:
Start
Citeste a,b,c,d
Daca (a>0 si b>0) sau (a>0 si c>0) sau (a>0 si d>0) sau (b>0 si c>0) sau (b>0 si d>0) sau (c>0 si d>0)
Tipareste”avem cel putin 2 nr pozitive”
Altfel
Tipareste”nu avem cel putin 2 nr pozitive”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d;
int main()
{cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if((a>0 && b>0) || (a>0 && c>0) || (a>0 && d>0) || (b>0 && c>0) || (b>0 && d>0) || (c>0 && d>0))
cout<<"avem cel putin 2 nr pozitive";
else
cout<<"nu avem 2 nr pozitive";
getch ();
return 0; }
42.Se citesc 2 nr.Sa se afiseze care nr este par si care este impar.
Algoritm:
Start
Citeste a,b
Daca rest(a,2)=0 atunci
Tipareste a,”este par”
Altfel
Tipareste a,”este impar”
Sfarsit daca
Daca rest(b,2)≠0 atunci
Tipareste b,”este impar”
Altfel
Tipareste b,”este par”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b;
int main()
{cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
if (a%2==0)
cout<<a<<"este par";
else
cout<<a<<"este impar";
if (b%2!=0)
cout<<b<<"este impar";
else
cout<<b<<"este par";
getch ();
return 0;}
43. Se citesc 3 nr. Sa se determine daca pot fi laturile unui triunghi si sa se determine tipul
triunghiului,perimetrul si aria acestuia.
Algoritm:
Start
Citeste a,b,c
Daca a>0 si b>0 si c>0 si a+b>c si a+c>b si b+c>a atunci
Tipareste “pot reprezenta laturile unui triunghi”
Daca a=b si a=c atunci
Tipareste”triunghiul este echilateral”
Altfel
Daca a=b sau a=c sau b=c atunci
Tipareste”triunghiul este isoscel”
Sfarsit daca
Daca a²+b²=c² sau a²+c²=b² sau c²+b²=a² atunci
Tiapreste”triunghiul este dreptunghic”
Sfarsit daca
Daca a≠b si a≠c si b≠c si a²+b²≠c² si b²+c²≠a² si a²+c²=b²atunci
Tipareste”triunghiul este oarecare”
Sfarsit daca
Sfarsit daca
P=a+b+c
Tipareste”perimetrul este”,P
p=P/2
A=√p(p‐a)(p‐b)(p‐c)
Tipareste “aria este”,A
Altfel
Tipareste”nu pot reprezenta laturile unui triunghi”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int a,b,c;
float A,P;
int main()
{cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if (a>0 && b>0 && c>0 && a+b>c && b+c>a && a+c>b)
cout<<"pot reprezenta laturile unui triunghi";
if (a==b && a==c)
cout<<"triunghiul este echilateral";
else
if(a==b || a==c || b==c)
cout<<"triunghiul este isoscel";
else
if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
cout<<"triunghiul este dreptunghic";
else
cout<<"triunghiul este oarecare";
P=a+b+c;
cout<<"perimetrul este"<<P<<endl;
P=P/2;
A=sqrt(P*(P‐a)*(P‐b)*(P‐c));
cout<<"aria este"<<A;
getch ();
return 0;}
44. Se citesc 3 nr.Sa se determine daca pot fi unghiurile unui triunghi si sa se determine tipul
triunghiului.
Algoritm:
Start
Citeste a,b,c
Daca a>0 si b>0 si c>0 si a+b+c=180° atunci
Tipareste”pot reprezenta unghiurile unui triunghi”
Daca a=b si a=c atunci
Tipareste”triunghiul este echilateral”
Altfel
Daca a=90° sau b=90° sau c=90° atunci
Tipareste”triunghiul este dreptunghic”
Altfel
Daca a=b sau a=c sau b=c atunci
Tipareste”triunghiul este isoscel”
Altfel
Tipareste”triunghiul este oarecare”
Sfarsit daca
Sfarsit daca
Sfarsit daca
Altfel
Tiapreste”nu pot reprezenta unghiurile unui triunghi”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int a,b,c;
int main()
{cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if (a>0 && b>0 && c>0 && a+b+c=180)
cout<<"pot reprezenta unghiurile unui triunghi";
if (a==b && a==c)
cout<<"triunghiul este echilateral";
else
if(a==b || a==c || b==c)
cout<<"triunghiul este isoscel";
else
if(a==90 || b==90 || c==90)
cout<<"triunghiul este dreptunghic";
else
cout<<"triunghiul este oarecare";
else
cout<<"nu pot reprezenta unghiurile unui triunghi";
getch();
return 0;}
45.Se citesc n numere care contin exact 5 cifre. Sa se determine numerele.
Algoritm:
Start
Citeste a
S=0
C5=rest(a,10)
C4=rest(cat(a,10),10)
C3=rest(cat(a,100),10)
C2=rest(cat(a,1000),10)
C1=cat(a,10000)
S=C1+C2+C3+C4+C5
Tipareste “Suma este”,S
Stop
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
Int a,S;
Int main (){
Cout<<”a=”;cin>>a;
C5=a%10;
C4=(a/10)%10;
C3=(a/100)%10;
C2=(a/1000)%10;
C1=a/10000;
S=C1+C2+C3+C4+C5;
Cout<<”Suma este”<<S;
Getch ();
Return 0;}
46.Se citesc 3 numere.Sa se determine daca cele 3 numer epot fi consecutive.
Algoritm:
Start
Citeste a,b,c
Daca(b=a+1 si c=a+2)
Tipareste a”,”b”,”c
Altfel
Daca(c=a+1 si b=a+2)
Tipareste a”,”c”,”b
Altfel
Daca(a=b+1 si c=b+2)
Tipareste b”,”a”,”c
Altfel
Daca(c=b+1 si a=b+2)
Tipareste b”,”c”,”a
Altfel
Daca(a=c+1 si b=c+2)
Tipareste c”,”a”,”b
Altfel
Daca(b=c+1 si a=c+2)
Tipareste c”,”b”,”a
Altfel
Tipareste ”Nu pot fi asezate consecutive”
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
Int a,b,c;
Int main (){
Cout<<”a=”;cin>>a;
Cout<<”b=”;cin>>b;
Cout<<”c=”;cin>>c;
If(b==a+1 && c==a+2)
Cout<<a<<”,”<<b<<”,”<<c<<endl;
Else
If(c==a+1 && b==a+2)
Cout<<a<<”,”<<c<<”,”<<b<<endl;
Else
If(a==b+1 && c==b+2)
Cout<<b<<”,”<<a<<”,”<<c<<endl;
Else
If(c==b+1 && a==b+2)
Cout<<b<<”,”<<c<<”,”<<a<<endl;
Else
If(a==c+1 && b==c+2)
Cout<<c<<”,”<<a<<”,”<<b<<endl;
Else
If(b==c+1 && a==c+2)
Cout<<c<<”,”<<b<<”,”<<a<<endl;
Else
Cout<<”Nu pot fi asezate consecutive”
Getch ();
Return 0;}
47.Se citesc n numere care au exact 3 cifre. Sa se determine cel mai mare numar care poate fi format
din cifrele sale.
Algoritm:
Start
Citeste a,c1,c2,c3
C1=cat(a,100)
C2=rest(cat(a,10),10)
C3=rest(a,10)
Daca(c1>c2 si c2>c3)
Tipareste c1*100+c2*10+c3;
Altfel
Daca(c1>c3 si c3>c2)
Tipareste c1*100+c3*10+c2;
Altfel
Daca(c2>c1 si c1>c3)
Tiparestec2*100+c1*10+c3;
Altfel
Daca(c2>c3 si c3>c1)
Tiparestec2*100+c3*10+c1;
Altfel
Daca(c3>c1 si c1>c2)
Tipareste c3*100+c1*10+c2;
Altfel
Daca(c3>c2 si c2>c1)
Tipareste c3*100+c2*10+c1;
Altfel
Tipareste ”Sunt cel putin 3 cifre egale”;
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
Int c1,c2,c3,a
Int main (){
Cout<<”n=”;cin>>n;
Cout<<”a=”;cin>>a;
C1=a/100;
C2=(a/10)%10;
C3=a%10;
If(c1>c2 && c2>c3)
Cout<<c1*100+c2*10+c3;
Else
If(c1>c3 && c3>c2)
Cout<<c1*100+c3*10+c2;
Else
If(c2>c1 && c1>c3)
Cout<<c2*100+c1*10+c3;
Else
If(c2>c3 && c3>c1)
Cout<<c2*100+c3*10+c1;
Else
If(c3>c1 && c1>c2)
Cout<<c3*100+c1*10+c2;
Else
If(c3>c2 && c2>c1)
Cout<<c3*100+c2*10+c1;
Else
Cout<<”Sunt cel putin 3 cifre egale”;
Getch ();
Return 0;}
48.Se citesc 3 numere. Sa se afiseze in ordine crescatoare
Algoritm:
Start
Citeste a,b,c
Daca(a>b si b>c)
Tipareste c<b<a;
Altfel
Daca(a>c si c>b)
Tiareste b<c<a;
Daca(b>a si a>c)
Tipareste c<a<b;
Altfel
Daca(b>c si c>a)
Tipareste a<c<b;
Altfel
Daca(c>a si a>b)
Tipareste b<a<c;
Altfel
Daca(c>b si b>a)
Tipareste a<b<c;
Altfel
Tipareste ”Cele 3 numere sunt egale”
Stop
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
Int a,b,c;
Int main (){
Cout<<”a=”;cin>>a;
Cout<<”b=”;cin>>b;
Cout<<”c=”;cin>>c;
If(a>b && b>c)
Cout<<c<<”<”<<b<<”<”<<a;
Else
If(a>c && c>b)
Cout<<b<<”<”<<c<<”<”<<a;
If(b>a && a>c)
Cout<<c<<”<”<<a<<”<”<<b;
Else
If(b>c && c>a)
Cout<<a<<”<”<<c<<”<”<< b;
Else
If(c>a && a>b)
Cout<<b<<”<”<<a<<”<”<<c;
Else
If(c>b && b>a)
Cout<<a<<”<”<<b<<”<”<<c;
Else
Cout<<”Cele 3 numere sunt egale”
Getch ();
Return 0;}
49. Se citesc 4 numere , sa se determine da printre cele 4 sunt 3 pozitive.
Algoritm:
Start
Citeste a,b,c,d;
Daca (a>0 si b>0 si c>0)sau(a>0 si b>0 si d>0)sau(a>0 si c>0 si d>0)sau(b>0 si c>o si d>o) atunci
Tipareste"exista 3 numere pozitive"
Altfel
Tipareste"nu exista 3 numere pozitive"
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
if(a>0 && b>0 && c>0)||(a>0 && b>0 && d>0)||(a>0 && c>0 && d>0)||(b>0 && c>0 && d>0)
cout<<"exista 3 numere pozitive";
else
cout<<"nu exista 3 numere pozitive";
getch();
return 0;}
50. Cunoscand data de nastere a unei persoane exprimata in ani,luna si ziua si data curenta
exprimata la fel,sa se arate varsta unei persoane in ani impliniti.
Algoritm:
Start
Citeste Zn,Ln,An,Zc,Lc,Ac
Daca Lc>=Ln atunci
Tipareste "varsta este",Ac‐An
Altfel
Daca Zc>=Zn atunci
Tipareste"carsta este",Ac‐An
Altfel
Tipareste"varsta este",Ac‐An‐1
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int Zn,Ln,An,Zc,Lc,Ac;
int main (){
cout<<"Zn=";cin>>Zn;
cout<<"Ln=";cin>>Ln;
cout<<"An=";cin>>An;
cout<<"Zc=";cin>>Zc;
cout<<"Lc=";cin>>Lc;
cout<<"Ac=";cin>>Ac;
{if(Lc>=Ln)
cout<<"Varsta este"<<Ac‐An;
else
if(Zc>=Zn)
cout<<"Varsta este"<<Ac‐An;
else
cout<<"Varsta este"<<Ac‐An‐1;
getch();
return 0;}
51. Sa se determine daca un numar "n" este perfect , daca este egal cu suma divizorilor lui.
Algoritm:
Start
Citeste n,S,i
S=o
Pentru i=1 la n
Daca rest(n,i)=0 atunci
S=S=i
Daca S=n atunci
Tipareste"este perfect"
Altfel
Tipareste"nu este perfect"
Sfarsit daca
Sfarsit daca
Sfarsit pentru
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,S,i;
int main(){
cout<<"n=";cin>>n;
S=0;
for(i=1; i<n; i++)
if(n%i==0)
S=S+i;
if(S==n)
cout<<n<<"este perfect";
else
cout<<n<<"nu este perfect";
getch();
reutrn 0;}
52. Se citeste un numar "x" sa se afiseze toate numerele perfect dintre 1 si x.
Algoritm:
Start
citeste x,n,i,S
Pentru n=6 la x
S=o
Pentru i=1 la n
Daca rest(n,i)=0 atunci
S=S+i
Sfarsit daca
Sfarsit pentru
Daca S=n atunci
Tipareste n
Sfarsit daca
Sfarsit pentru
Stop
Program:
#incude<iostream>
#include<conio.h>
using namespace std;
int x,n,i,S;
int main(){
cout<<"x=";cin>>x;
for(n=6; n<x; n++)
{S=0;
for(i=1; i<n; i++)
if(n%i==0)
S=S=i;
if(S==n)
cout<<n;}
getch();
return 0;}
53.Aflati suma numerelor pare de la 1 la 105 .
Algoritm :
START
Citeste i
s=0
Pentru i=2 la 104 pas 2
s=s+i
Tipareste "Suma este ", s ," ."
Sfarsit pentru
STOP
Program :
#include<iostream>
#include<conio.h>
#include<math>
using namespace std;
int s , i ;
int main (){
s=0;
for(i=2 ; i<=104 ; i=i+2)
s=s+i;
cout <<"Suma este "<<s<<" .";
getch();
return );}
54.Se citeste un numar . Sa se determine daca este prim .
Algoritm :
START
Citeste n
prim=1
Pentru i=2 la n‐1
Daca rest (n,i)=0 atunci
prim=0
Sfarsit daca
Sfarsit pentru
Daca prim=1 atunci
Tipareste n , "este prim ."
Altfel
Tipareste n , "nu este prim ."
Sfarsit daca
STOP
Program :
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std ;
int n , prim , i ;
int main (){
cout<<"n=";cin>>n;
prim=1;
for(i=2 ; i<n ; i=i+1)
if(n%i==0)
prim=0;
if(prim!=0)
cout<<n<<" este prim .";
else
cout<<n<<" nu este prim .>>
getch();
return 0;}
55.Se citeste un numar k. Afisati toate numerele prime mai mici decat k si mai mari decat 1 .
Algoritm :
START
Citeste k
Pentru n=2 la k‐1
Daca rest (n,i)=0 atunci
prim=0
Sfarsit daca
Daca prim=1 atunci
Tipareste n , " "
Sfarsit daca
Sfarsit pentru
STOP
Program :
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int k , prim, n , i ;
int main (){
cout<<"k=";cin>>k;
{for(n=1 ; n<=k ; n=n+1)
if(n%i==0)
prim=0;
if(prim==1)
cout<<n<<" ";}
getch();
return 0;}
56 .Sa se afiseze toate numerele de 4 cifre care au ultimele 3 cifre in orine crescatoare .
Algoritm :
START
Pentru n=1000 la 10000
c =rest(cat(i,100),10)
c =rest(cat(i,10),10)
c =rest(i,10)
Daca c <c si c <c atunci
Tipareste i , " "
Sfarsit daca
Sfarsit pentru
STOP
Program :
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int i , c , c , c ;p
int main (){
for (i=1000 ; i<10000 ; i+1)
{c =(i/100)%10;
c =(i/10)%10;
c =i%10;
if (c <c && c <c )
cout<<i<<" ";}
getch();
return 0;}
57.Sa se afiseze numerele de 5 cifre care respecta urmatoarele conditii:prima cifra plus ultima sa fie
egala cu suma dintre cifra a 2 si cifra a 4 a iar cifra a 3 este para iar suma tuturor cifrelor este impara.
Algoritm:
Start
Citeste n
Pentru n=10000 la 100000 pas 1
c1=(cat(n,10000)
c2=rest(cat(n,1000),10)
c3=rest(cat(n,100),10)
c4=rest(cat(n,10),10)
c5=rest(a,10)
daca c1+c5=c2+c4 si rest(c,2)=0 si rest((c1+c2+c3+c4+c5),2) diferit de 0 atunci
Tipareste n
Sfarsit pentru
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,c1,c2,c3,c4,c5;
int main(){
for(n=10000;n<100000;n=n+1)
c1=(n/10000)%10;
c2=(n/1000)%10;
c3=(n/100)%10;
c4=(n/10)%10;
c5=n%10;
if((c1+c5==c2+c4) && (c3%2==0) && (c1+c2+c3+c4+c5)%2!=0)
cout <<n<<" ";
getch();
return 0;}
58.Se citeste un numar.Sa se determine daca nr este egal cu suma divizorilor sai mai putin el insusi.
Algoritm
Start
Citeste n
Pentru d=1 la n pas 1
Daca rest(n,d)=0 atunci
S=S+d
Daca n=S atunci
Tipareste "n este numar perfect"
Altfel
Tipareste "n nu este numar perfect"
Sfarsit pentru
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,d,S;
int main(){
cout <<"n=";cin>>n;
S=0;
for(d=1;d<n;d++)
if(n%d==0)
S=S+d;
if(n==S)
cout<<n<<"este perfect";
else
cout<<n<<"nu este perfect";
getch();
return 0;}
59.Sa se citeasca un numar k,sa se afiseze toate numerele perfecte cuprinse intre 1 si k.
Algoritm:
Start
Citeste n
Pentru n=2 la k pas 1
S=0
Pentru i=1 la n pas 1
Daca rest(n,i)=0 atunci
S=S+i
Daca n=S atunci
Tipareste n
Sfarsit pentru
Sfarsit pentru
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int k,n,i,S;
int main(){
cout<<"k=";cin>>k;
for(n=2;n<k;n++)
S=0;
for(i=1;i<n;i++)
if(n%i==0)
S=S+i;
if(n==S)
cout<<n<<" ";
getch();
return 0;}
60.Se citeste un numar sa se determine toate numerele de 4 cifre care au exact k divizori si 2 cifre
egale.
Algoritm:
Start
Citeste n
Pentru n=1000 la 10000 pas 1
D=0
Pentru i=1 la n pas 1
Daca rest(n,i)=o atunci
D=D+1
Daca D=n si cat(n,1000)=rest(cat(n,100),10) sau cat(n,1000)=rest(cat(n,10),10) sau
cat(n,1000)=rest(n,10) sau rest(cat(n/100),10)=rest(cat(n,10),10) sau rest(cat(n,100),10)=rest(n,10)
sau rest(cat(n,10),10)=rest(n,10) atunci
Tipareste n
Sfarsit pentru
Sfarsit pentru
Sfarsit daca
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int k,n,D,i;
int main(){
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
for(n=1000;n<10000;n=n+1)
D=0;
for(i=1;i<n;i++)
if(n%i==0)
D=D+1;
if(D==k &&
((n/1000==(n/100)%10)||(n/1000==(n/10)%10)||(n/1000==n%10)||(n/100)%10==(n/10)%10||(n/1
00)%10==n%10||(n/10)%10==n%10))
cout<<n<<" ";
getch();
return 0;}
61.Se citeste un numar.Sa se determine suma cifrelor.
Algoritm:
Start
Citeste n,S,i
S=0
i=n
Cat timp n!=0 executa
S=S+rest(n,10)
n=cat(n,10)
Sfarsit cat timp
Tipareste “Suma cifrelor lui”,i,”este”,S.
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,S,i;
int main(){cout<<"n=";cin>>n;
S=0;
i=n;
while(n!=0)
{S=S+n%10;
n=n/10;}
cout<<"suma cifrelor lui"<<i<<"este"<<S;
getch();
return 0;}
62.Sa se determine suma cifrelor pare si suma cifrelor imparea numarului n.
Algoritm:
Start
Citeste n,P,i
P=i=0
Cat timp n=0 executa
Daca rest(n,2)=0 atunci
P=P+rest(n,10)
Altfel
i=i+rest(n,10)
n=cat(n,10)
Sfarsit daca
Sfarsit cat timp
Tipareste “Suma cifrelor impare este”,i.
Tipareste ”Suma cifrelor pare este”,P.
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,P,i;
int main(){cout<<"n="; cin>>n;
P=i=0;
while(n!=0)
{if(n%2==0)
P=P+n%10;
i=i+n%10;
n=n/10;}
cout<<"suma cifrelor impare este"<<i;
cout<<"suma cifrelor pare este"<<P;
getch();
return 0;}
63.Se citeste un numar.Sa se numere de care ori intra un factor “p” in descompunerea sa.
Algoritm:
Start
Citeste n,p,A,x,i
A=0
x=n
Cat timp rest(n,p)=0 executa
A=A+1
n=cat(n,p)
Sfarsit cat timp
Tipareste p,”intra in descompunerea lui”,x,”de”,A,”ori”
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,p,A,x,i;
int main(){cout<<"n=";cin>>n;
cout<<"p=";cin>>p;
A=0;
x‐n;
while(n%i==0)
{A++;
n=n/p;}
cout<<p<<"intra in descompunerea lui"<<x<<"de"<<A<<"ori";
getch();
return 0;}
64.Se citeste un numar.Sa se afiseze descompunerea in factori primi.
Algoritm:
Start
Citeste n,p,A,i
Pentru i=2 la n pas 1
A=0
Cat timp rest(n,i)=0 executa
A=A+1
n=cat(n,i)
Sfarsit cat timp
Daca A!=0 atunci
Tipareste i,”^”,A,”*”
Sfarsit daca
Sfarsit pentru
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,P,A,i;
int main(){cout<<"n="; cin>>n;
cout<<n<<"=";
{A=0;
while(n%i==0)
{A++;
n=n/i;}
if(A!=0)
cout<<i<<"^"<<A<<"*";}
getch();
return 0;}
65.se citesc n numere.Sa se determine cate dintre ele nu apartin intervalului (a,b) unde a si b sunt nr
intrgi.
Algoritm:
Start
Citeste n
P=0
Pentru i=1 la n
Daca i<a sau i>b atunci
P++
Sfarsit daca
Sfarsit pentru
Tipareste P
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,a,b,p,x,i;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"n=";cin>>n;
p=0;
for(i=1;i<=n;i++)
{cout<<"x="; cin>>x;
if(x<a||x>b)
p++;}
cout<<"s‐au gasit" <<p<<"numere in afara intervalul ("<<a<<","<<b<<")";
getch();
return 0;}
66.se citesc n numere.Sa se determine care este cifra cea mai mare dintre toate.
Algoritm:
Start
Citeste n,
Max=0
Pentru i=1 la n
Citeste x
Cat timp x=!0 executa
Daca max<rest(x,10)
Max=rest(x,10)
Sfarsit daca
x =cat(x,10)
sfarsit cat timp
tipareste max
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,maxd,x,i;
int main(){
cout<<"n=";cin>>n;
maxd=0;
for(i=1;i<=n;i++)
{cout<<"x="; cin>>x;
while(x)
{if (x%10>maxd)
maxd=x%10;
x=x/10;}}
cout<<maxd;
getch();
return 0;}
67. Se citeste un nr n sa se scrie un program care afiseaza toti divizorii sai.
Algoritm:
Start
Citeste n
Pentru d=1 la n
Daca rest(n,d)=o atunci
Tipareste d „ ”
Sfarsit daca
Sfarsit pentru
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,a,b,p,x,i;
int main(){
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
if(n%i==0)
cout<<i<<" ";
getch();
return 0;}
68.se citesc n numere.Sa se determine cate dintre ele apartin intervalului (a,b) unde a si b sunt nr
intregi.
Algoritm:
Start
Citeste n
P=0
Pentru i=1 la n
Daca i>a sau i<b atunci
P++
Sfarsit daca
Sfarsit pentru
Tipareste P
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,maxd,x,i;
int main(){
cout<<"n=";cin>>n;
maxd=0;
for(i=1;i<=n;i++)
{cout<<"x="; cin>>x;
while(x)
{if (x%10>maxd)
maxd=x%10;
x=x/10;}}
cout<<maxd;
getch();
return 0;}
69.Se citesc n nr .sa se determine cate dintre nr citite au cifrele egale.
Algoritm:
Start
Citeste n
p=0;
Pentru (i=1 la n;pas 1)
Citeste x
Daca (rest(n,10)=rest(cat(1/10)%10) atunci
p=p+1
x=cat(n,10)
tipareste „sunt” p „nr care respecta conditia”
sfarsit daca
sfarsit pentru
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,x,p,i;
int main(){
cout<<"n=";cin>>n;
p=0;
for(i=1;i<=n;i++)
{cout<<"x=";cin>>x;
if(x%10==(x/10)%10)
p=p+1;
x=x/10;}
cout<<"sunt "<<p<<" nr care respecta conditia";
getch();
return 0;}
70.Se citesc n nr. sa se afiseze toate nr impare mai mici sau egale cu 4
Algoritm:
start
citeste n
pentru (k=1 la n,pas 1)
citeste y
gasit=0;
daca rest(y,2)=0 si y<4 atunci
gasit=1;
daca gasit=1 atunci
tipareste ,,nr sunt:”y;
sfarsit daca
sfarsit pentru
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,y,k,gasit;
int main(){
cout<<"n=";cin>>n;
for(k=1;k<=n;k++)
{cout<<"y=";cin>>y;
gasit=0;
if(y%2&&y<=4)
gasit=1;
if(gasit)
cout<<"nr sunt: "<<y<<" ";}
getch();
return 0;}
71.sa se determine media aritmetica a divizorilor proprii ai unui nr natural n citit de la tastatura
Algoritm:
start
citeste n
s=o
d=0
pentru(i=2 la n,pas 1)
daca rest(n,i)=0 atunci
s=s+i
d=d+1
tipareste s/d
sfarsit daca
sfarsit pentru
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,d,s,i;
int main(){
cout<<"n=";cin>>n;
s=0;
d=0;
for(i=2;i<n;i++)
{if(n%i==0)
{s+=i;
d++;}}
cout<<"media aritmetica este "<<s/d;
getch();
return 0;}
72.Fiind date 2 nr a si b , sa se afisaze toate nr prime din intervalul[a,b]
Algoritm:
start
citeste a,b
pentru(i=a la b,pas 1)
p=0
pentru((d=2 la i ,pas 1)
daca rest(i,d)=0 atunci
p=1
daca p=0 atunci
tipareste i;
sfarsit daca
sfarsit pentru
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,d,i,p;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(i=a;i<=b;i++)
{p=0;
for(d=2;d<i;d++)
{if(i%d==0)
p=1;}
if(p==0)
cout<<i<<" ";}
getch();
return 0;}
73.Se citesc numere naturale pana la intalnirea numarului 0.Sa se afiseze numerele prime.
Algoritm:
Start
Citeste n
Cat timp n !=0 executa
Prim=1
Pentru i=2 la n pas 1
Daca rest (n,i)==0 atunci
Prim=0
Sfarsit daca
Daca prim=1 atunci
Tipareste “n=”
Sfarsit daca
Sfarsit pentru
Citeste n
Sfarsit cat timp
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int prim,i,x,j,n;
int main(){
cout<<"n=";cin>>n;
while(n!=0)
{prim=1;
for(i=2;i<n;i++)
if(n%i==0)
prim=0;
if(prim)
cout<<n<<" ";
cout<<"n=";cin>>n;
}
getch();
return 0;}
74.Se citesc numare natural pana la intalnirea unui numar negativ.Sa se afiseze numerele prime
citite.
Algoritm:
Start
Citeste n
Cat timp n >=0 executa
Prim=1
Pentru i=2 la n pas 1
Daca rest (n,i)==0 atunci
Prim=0
Sfarsit daca
Daca prim=1 atunci
Tipareste “n=”
Sfarsit daca
Sfarsit pentru
Citeste n
Sfarsit cat timp
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int prim,i,x,j,n;
int main(){
cout<<"n=";cin>>n;
while(n>=0)
{prim=1;
for(i=2;i<n;i++)
if(n%i==0)
prim=0;
if(prim)
cout<<n<<" ";
cout<<"n=";cin>>n;
}
getch();
return 0;}
75.Se citesc numareuite asa pana la intalnirea unui numar intreg x.Sa se afiseze numerele prime
citite.
Algoritm:
Start
Citeste n,x
Cat timp n >x executa
Prim=1
Pentru i=2 la n pas 1
Daca rest (n,i)==0 atunci
Prim=0
Sfarsit daca
Daca prim=1 atunci
Tipareste “n=”
Sfarsit daca
Sfarsit pentru
Citeste n
Sfarsit cat timp
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int prim,i,x,j,n;
int main(){
cout<<"n=";cin>>n;
cout<<”x=”;cin>>x;
while(n>x)
{prim=1;
for(i=2;i<n;i++)
if(n%i==0)
prim=0;
if(prim)
cout<<n<<" ";
cout<<"n=";cin>>n;
}
getch();
return 0;}
76.Se citesc numere naturale pana la intalnirea unui numar intreg k.Sa se afiseze media aritmetica a
numerelor citite prime.
Algoritm:
Start
Citeste n,k
S=0
P=0
Cat timp n>k executa
Prim=1
Pentru i=2 la n pas 1
Daca rest (n,i)=0 atunci
Prim=0
Sfarsit daca
Daca prim=1 atunci
S=S+n
P=P+1
Tipareste “media aritmetica este”S/P
Sfarsit daca
Sfarsit pentru
Sfarsit cat timp
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int prim,P,Si,x,j,n;
int main(){
cout<<"n=";cin>>n;
cout<<”k=”;cin>>k;
S=0;
P=0;
while(n>k)
{prim=1;
for(i=2;i<n;i++)
if(n%i==0)
prim=0;
if(prim)
S=S+n;
P++;
cout<<S/P<<" ";
cout<<"n=";cin>>n;
}
getch();
return 0;}
85.Sa se afiseze printr‐un program toate nr.de doua cifre care se divid cu suma si produsul cifrelor lui
Algoritm:
Start
S=0
P=0
Pentru i=10 la 99
S=cat (i.10)+rest(i,10)
P=cat (I,10)*rest(I,10)
Daca rest(I,s)=o si rest (I,p)=0 atunci
Tipareste “I”
Sf.daca
Sf.pentru
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int i,s,p;
int main(){
for(i=10;i<=99;i++)
{s=0;
p=0;
s=i/10+i%10;
p=i/10*i%10;
if(i%s==0&&i%p==0&&p&&s)
cout<<i<<endl;}
getch();
return 0;}
86.Se da un numar natural p. Sa se determine daca nr.contine in scrierea lui secventa 15 .
Algoritm:
START
Citeste p
Gasit =0
Cat timp p>0 executa
Daca rest(p,10)=5 si rest(cat(p,10),10)=1 atunci
Gasit =1
Sf.daca
P=cat(p,10)
Sf. cat timp
Daca gasit =1 atunci
Tipareste” secventa se gaseste”
Altfel
Tipareste”secventa nu se gaseste”
Sf.daca
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int p ,gasit;
int main(){
cout<<"p=";cin>>p;
gasit=0;
while(p)
{if (p%100==15)
gasit=1;
p=p/10;}
if(gasit==1)
cout<<"nr.contine secventa 15";
else
cout<<"nu contine secventa 15";
getch();
return 0;}
87.Se citeste printr‐un program nr.de la tastatura pana la citirea valori 0.Se cere calcularea si afisarea
mediei aritmetice a patratelor nr. PoZitive citite.
Algoritm:
START
Citeste x
P=0
S=0
Cat timp x>0 executa
Daca x>0 atunci
S=s+x*x
P=p+1
Sf.daca
Sf.cat timp
Tipareste “media aritmetica este “s/p
STOP
Program:
#include<iostream>
#include <conio.h>
using namespace std;
int x,s,p;
int main(){
p=0;
s=0;
cout<<"x=";cin>>x;
while (x)
{if(x>0)
{
s=s+x*x;
p=p+1;
}
cout<<"x=";cin>>x;}
cout<<"media aritmetica este"<<(float)s/p;
getch();
return 0;}
88. Un bancher are un seif cu cifru. Pentru a nu uita cifrul urca sa‐l scrie pe o foaie codificat fiecare
cifra sa fie inlocuita cu difernta dintre cifra noua si cifra respective. Bancherul si‐a ales un cifru ,
ajutati‐l sa‐l codifice dupa metoda lui stiind ca cifrul incepe cu o cifra diferita de noua. Scrieti un
program care preia cifrul de la tastaura si afiseaza cifrul codificat.
Algoritm:
START
Citeste n
P=0
Cat timp n>0 executa
P=p*10+9‐rest (n,10)
N=cat(n,10)
Sf. cat timp
A=0
Cat timp p>0 executa
A=a*10+rest(p,10)
P=cat(p,10)
Sf. cat timp
Tipareste “cifrul codificat este “A
STOP
Program:
#include<iostream>
#include <conio.h>
using namespace std;
int n,p,a;
int main(){
cout<<"n=";cin>>n;
p=0;
a=0;
while(n)
{p=p*10+9‐n%10;
n=n/10;}
while(p)
{a=a*10+p%10;
p=p/10;}
cout<<"cifrul codat este"<<a;
getch();
return 0;}
89.Se citesc n numere ,sa se numere cate dintre ele au p divizori,primele 3 cifre consecutive in
ordine descrescatoare si ultimele 2 cifre sa fie egale.
Algoritm:
START
Citesten,p,x
A=0
Pentru i=1 la n
S=0
Pentru j=1 la x
Daca rest(x,j)=0 atunci
S =S+1
Sfarsit daca
Sfarsit pentru
B =x
Cat timp B>=1000 executa
Daca S=P si cat(B,100)=rest(cat(B,10),10) si rest(cat(B,10),10=rest(B,10)+1 si
rest(cat(x,10),10)=rest(x,10) atunci
A=A+1
Tipareste A
Sfarsit daca
Sfarsit cat timp
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,p.A,B,S,x,i,j;
int main()
{cout<<"n=";cin>>n;
cout<<"p=";cin>>p;
A=0;
for(i=1;i<=n;i++)
{cout<<"x=";cin>>x;
S=0;
for(j=1;j<=x;j++)
if(x%j==0)
S=s+1;
B=x;
while(B>=1000)
B=B/10;
IF(S==p&&b/100==(B/10)%10+1&&(B/10)%10==B%10+1&&(x/10)%10==x%10)
A=A+1;
COUT<<"sunt"<<A<<"numere care respecta conditia";
getch();
return 0;}
90.In cate zerouri se termina un numar de maxim 9 cifre,introdus de la tastatura?
Algoritm:
START
Citeste n
Daca n>0 atunci
x=n
Cat timp rest(n,10)=0 executa
P=P+1
n=cat(n,10)
tipareste x
sfarsit cat timp
sfarsit daca
STOP
Program:
#include<iostream>
include<conio.h>
using namespace std;
intn,P,x;
iny main()
{cout<<"n=";cin>>n;
if(n!=0)
x=n;
while(n%10==0)
{P++;
n=n/10;
cout<<"numarul"<<x<<"are"<<P<<"zerouri";
getch();
return 0;}
91.Se introduce un numar natural n cu maxim 8 cifre,nenule si distincte,mai mici ca 9.sa se afiseze
cifrele numarului in ordine descrescatoare.
Algoritm:
START
Citeste n
Pentru i=8 la 0
Cat timp n>0 executa
Daca rest(n,10)=I atunci
Tipareste n
n=cat(n,10)
Sfarsit daca
Sfarsit cat timp
Sfarsit pentru
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,i;
int main(){
cout<<"n=";cin>>n;
for(i=8;i>=0;i‐‐)
while(n)
{if(n%10==i)
cout<<n%10;
n=n\10;}
getch();
return 0;}
92.Se da un numar intreg de maxim 9 cifre,sa se afiseze numarul de aparitii a fiecarei cifre.
Algoritm:
START
Citeste n
Cat timp n>0 executa
Daca rest(n,10)=0 atunci
a=a+1
Sfarsit daca
Altfel
Daca rest(n,10)=1 atunci
b=b+1
Sfarsit daca
Altfel
Daca (rest(n,10)=2 atunci
c=c+1
Sfarsit daca
Altfel
Daca rest(n,10)=3 atunci
d=d+1
Sfarsit daca
Altfel
Daca rest(n,10)=4 atunci
e=e+1
Sfarsit daca
Altfel
Daca rest (n,10)=5 atunci
f=f+1
Sfarsit daca
Altfel
Daca rest(n,10)=6 atunci
g=g+1
Sfarsit daca
Altfel
Daca rest(n,10)=7 atunci
h=h+1
Sfarsit daca
Altfel
Daca rest(n,10)=8 atunci
i=i+1
Sarsit daca
n=rest(n,10)
Tipareste a
Tipareste b
Tipareste c
Tipareste d
Tipareste e
Tiparestef
Tipareste g
Tipareste h
Tipareste i
Sfarsit cat timp
stop
Program:
#include<iostream>
#include<conio.h>
using namaspace std;
longn,a,b,c,d,e,f,g,r;
int main(){
cout<<"n=";cin>>n;
while(n)
{if(n%10==0)
a+=1;
else
if(n%10==1)
b+=1;
else
if(n%10==2)
c+=1;
else
if(n%10==3)
d+=1;
else
if(n%10==4)
f+=1;
else
if(n%10==5)
if+=1;
else
if(n%10==6)
g+=1;
else
if(n%10==7)
h+=1;
else
if(n%10==8)
i+=1;
n=n/10;}
cout<<"cifra 0 apare de"<<a<<"ori";
cout<<"cifra 1 apare de"<<b<<"ori";
cout<<"cifra 2 apare de"<<c<<"ori";
cout<<"cifra 3 apare de"<<d<<"ori";
cout<<"cifra 4 apare de"<<e<<"ori";
cout<<"cifra 5 apare de"<<f<<"ori";
cout<<"cifra 6 apare de"<<g<<"ori";
cout<<"cifra 7 apare de"<<h<<"ori";
cout<<"cifra 8 apare de"<<i<<"ori";
getch();
return 0;}
93.Afisati cate cifre distincte contine un numar nenul.
Algoritm:
START
Citeste n
P=0
Pentru i=0 la 8
X=n
S=0
Cat timp x>0 si S=0 executa
Daca rest(x,10)=1 atunci
S=1
X=cat(x,10)
Sfarsit daca
Sfarsit cat timp
Daca S=1 atunci
P=P+1
Tipareste P
Sfarsit pentru
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,P,i,S,x;
int main()
{cout<<"n=";cin>>n;
P=0;
for(i=0;i<=9;i++)
{x=n;
S=0;
while(x&&S==0)
{if(x%10==i)
S=1;
x=x/10}
if(S==1)
P=P+1;}
Cout<<"avem"<<P<<"cifre distincte";
getch ();
return o;}
94.Se dau doua numere naturale a,b cu maxim noua cifre.
a)Sa se determine cifrele distincte commune numerelor a,b.
b)Sa se afiseze numerele cele mai mari formate din toate cifrele lui a si b.
Algoritm:
a)
START
Citeste a,b
Pentru i=0 la 8
Gasit1=0
X=0
Cat timp x>0 si Gasit1=0 executa
Daca rest(x,10)=I atunci
Gasit1=1
X cat(x,10)
Gasit2=0
X=b
Cat timp x>0 si Gasit2=0 executa
Daca rest(x,10)=1 atunci
Gasit2=1
X=cat(x,10)
Daca Gasit1=1 si Gasit2=1 atunci
Tipareste i
Sfarsit daca
Sfarsit daca
Sfarsit cat timp
Sfarsit daca
Sfarsit cat timp
Sfarsit pentru
STOP
b)START
Citeste a,b
S=0
Pentru i=9 la 0
Nr=0
X=a
Cat timp x>0 executa
Daca rest(x,10)=I atunci
Nr = Nr+1
X(rest(x,10)
Pentru k=1 la Nr
S=S*10+i
Tipareste S
Sfarsit pentru
Sfarsit daca
Sfarsit cat timp
Sfarsit daca
Sfarsit cat timp
Sfarsit pentru
STOP
Program:
A)
#include<iostream>
#include<conio.h>
using namespace.std;
int a,b,x,i,gasit1,gasit2;
int main()
{cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
{gasit1=0;
x=0
while(x&&gasit1==0)
{if(x%10==i)
gasit1=1
x=x/10}
gasit2=0;
x=b;
while(x&&gasit2==0)
{if(gasit1==1&&gasit2==1)
cout<<i<<" ";}
getch();
return 0;}
B) #include<iostream>
#include<conio.h>
using namespace std;
int p,b,x,i,k,S,Nr;
int main()
{cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(i=9;i>=0;i+i‐1)
Nr=0;
x=a;
while(x)
{if(x%10==i)
Nr++;
x=x/10;
x=b;
while(x)
{if(x%10==i)
Nr++;
x=x/10;}
for(k=1;k<=Nr;k++)
S=S*10+I;}
cout<<"Nr obtinut este<<S;
getch();
return 0;}
95.Se introduce doua numere a si b,a>b<50 000 000.Sa se afiseze ultima cifra a sumei tuturor
numerelor aflate intre a si b.
Algoritm:
START
Citeste a,b
P=0
Pentru i=a la b
P=P+rest(i,10)
Tipareste P
Sfarsit pentru
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,i,P;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(i=a;i<=b;i++)
P=P+i%10;
cout<<"suma este"<<S;
getch();
return 0;}
96.Se dau doua numere avand aceleasi numere de cifre.Cate cifre trebuie modificate pentru a
transforma un numar in celalalt?
Algoritm:
START
Citeste a,b
Cat timp a>0 si b>0 executa
Daca rest(a,10)=rest(b,10) atunci
S=S+1
a=cat(a,10)
b=cat(b,10)
Tipareste S
Sfarsit daca
Sfarsit cat timp
STOP
Program:
#include<iostream>
#include<conio.h>
usinh namespace std;
int a,b,S;
int main(){
S=0;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
while(a!=0&&b!=0)
{if(a%10!=b%10)
S=S+1;
a=a/10;
b=b/10;}
cout<<"trebuie facute"<<S<<"modificari";
getch();
return 0;}
97.Se dau doua numere nenule.sa sxe afiseze c.m.m.d.c si c.m.m.m.c al lor.
Algoritm:
START
CITESTE a,b
x=a
y=b
CAT TIMP a diferit de b EXECUTA
DACA a>b
a‐=b
altfel
b‐=a
PENTRU i=1 la 456789099 pas 1
DACA rest (i,x)=0 sio rest (i,y)=0 atunci
TIPARESTE x=i
i=456789099
SFARSIT DACA
SFARSIT PENTRU
SFARSIT DACA
SFARSIT CAT TIMP
TIPARESTE " c.m.m.d.c al celor doua numere este ",a" c.m.m.m.c al celor doua numere este",x
STOP.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,x,y,i;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
x=a;
y=b;
while(a!=b)
{if(a>b)
a‐=b;
else
b‐=a;}
for(i=1;i<456789099;i++)
{if(i%x==0&&i%y==0)
{x=i;
i=456789099;}}
cout<<"c.m.m.d.c al celor doua numere este"<<a<<endl;
cout<<"c.m.m.m.c al celor mdoua numere este"<<x<<endl;
getch();
return 0;}
98. Se sau numitorul si numaratorul unei fractii.Sa se simplifice ,daca se poate si sa se afiseze fractia
simplificata.
Algoritm:
START
CITESTE x,y;
a=x
b=y
CAT TIMP a diferit de b EXECUTA
DACA a>b ATUNCI
TIPARESTE
a+=‐b
ALTFEL
b+=‐a
SFARSIT DACA
DACA cat(x,a)=x si cat(y,a)=y ATUNCI
TIPARESTE "fractia este ireductibila"
ALTFEL
TIPARESTE" fractia simplificata este << cat(x,a)<<" cat"<<cat(y,a)
SFARSIT DACA
SFARSIT CAT TIMP
STOP.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long a,b,x,y;
int main(){
cout<<"x=";cin>>x;
cout<<"y=";cin>>y;
a=x;
b=y;
while(a!=b)
{if(a>b)
a+=‐b;
else
b+=‐a;}
if(x/a==x&&y/a==y)
cout<<"fractia este ireductibila"
else
cout<<"fractia simplificata este"<<x/a<<"/"<<y/a;
getch();
return 0;}
99. Se dau trei numere.Determinati si afisati c.m.m.d.c al lor.
Algoritm:
START
CITESTE a,b,c
CAT TIMP a diferit de b EXECUTA
DACA a>b ATUNCI
TIPARESTE a‐=b
altfel
TIPARESTE b‐=a
CAT TIMP a diferit de c EXECUTA
DACA a>c ATUNCI
TIPARESTE a‐=c
ALTFEL
TIPARESTE c‐=a
SFARSIT DACA
SFARSIT CAT TIMP
SFARSIT DACA
SFARSIT CAT TIMP
TIPARESTE " c.m.m.d.c al celor trei numere este ",a
STOP.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
while(a!=b)
{if(a>b)
a‐=b;
else
b‐=a;}
while(a!=c)
{if(a>c)
a‐=c;
else
c‐=a;}
cout<<"cel mai mare divizor comun al celor trei numere este"<<a<<endl;
getch();
return 0;}
100.Se sa numarul n. Sa se afiseze toate numerele mai mici ca el si prime cu el.
Algoritm:
START
CITESTE i,n,a,b;
PENTRU i=1 la n pas 1 EXECUTA
a=i
b=n
CAT TIMP a diferit de b EXECUTA
DACA a>b ATUNCI
TIPARESTE
a+=‐b
ALTFEL
b+=‐a
DACA a=1 ATUNCI
TIPARESTE<<i<<
SFARSIT DACA
SFARSIT DACA
SFARSIT CAT TIMP
SFARSIT PENTRU
STOP.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long a,b,n,i;
int main(){
cout<<"n=";cin>>n;
cout<<"numerele sunt";
for(i=1;i<n;i++)
{a=i;
b=n;
while(a!=b)
{if(a>b)
a‐=b;
else
b‐=a;}
if(a==1)
cout<<i<<" ";}
getch();
return 0;}
101.Se da un numar.Sa se scrie daca se poate ca suma de doua numere impare.
Algoritm:
Start
Citeste n,i
Daca rest(n,2)=0 atunci
Pentru i=1 la n pas 2
Tipareste « n=n‐i+i »
Altfel
Tipareste “Nu se poate scrie ca suma de doua numere impare”
Sfarsit pentru
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,i;
int main(){
cout<<"n=";cin>>n;
if(n%2==0){
for(i=1;i<n;i=i+2)
cout<<n<<"="<<n‐i<<"+"<<i;}
else
cout<<"nu se poate scrie ca suma de doua numere impare";
getch();
return 0;}
102. Se da un numar.Sa se scrie,daca este posibil,ca suma de doua numere consecutive.
Algoritm:
Start
Citeste n
Daca rest(n,2) !=0 atunci
Tipareste “n=cat((n‐1),2)+cat((n+1),2)
Altfel
Tipareste”Nu se poate scrie ca suma de doua numere consecutive
Sfarsit daca
Stop.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n;
int main(){
cout<<"n=";cin>>n;
if(n%2!=0)
cout<<n<<"n"<<"="<<(n‐1)/2<<"+"<<(n+1)/2;
else
cout<<"nu se poate scrie ca si suma de doua numere consecutive";
getch();
return 0;}
103. Sa se inlocuiasca literele cu cifre in scaderea urmatoare:
abcbe‐
edab
____
ebce
Algoritm:
Start
Citeste a,b,c,d,e,n1,n2,dif
Pentru(a=1 la 9 pas 1)
Pentru(b=0 la 9 pas 1)
Pentru (c=0 la 9 pas 1)
Pentru (d=0 la 9 pas 1)
Pentru (e=0 la 9 pas 1)
n1=a*10000+b*1000+c*100+b*10+e
n2=e *1000+d*100+a*10+b
Dif=e*1000+b*100+c*10+e
Sfarsit pentru
Sfarsit pentru
Sfarsit pentru
Sfarsit pentru
Sfarsit pentru
Daca n1‐n2=dif atunci
Tipareste “Dif=n1‐n2”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a,b,c,d,e,n1,n2,Dif;
int main(){
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
for(e=1;e<=0;e++)
{n1=a*10000+b*1000+c*100+b*10+e;
n2=e*1000+d*100+a*10+b;
Dif=e*1000+b*100+c*10+e;
if(n1‐n2==Dif)
cout<<n1<<"‐"<<endl<<n2<<endl<<" "<<endl<<Dif<<endl;}
getch();
return 0;}
104. Sa se faca conversia unui numar natural n din baza 10 in baza 2.
Algoritm:
Start
Citeste n,S,P,x
x=n
S=7
Cat timp n!=0 executa
S=S*10+rest(n,2)
n=cat(n,2)
Sfarsit cat timp
P=0
Cat timp S!=0 executa
P=P*10+rest(S,10)
S=cat(S,10)
Sfarsit cat timp
Tipareste “numarul”,x,”este”,cat(P,10),”in baza 2”.
Sfarsit daca
Stop.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,S,P,x;
int main(){
cout<<"n=";cin>>n;
x=n;
S=7;
while(n)
{S=S*10+n%2;
n=n/2;}
P=0;
while(S)
{P=P*10+S%10;
S=S/10;}
cout<<"numarul"<<n<<"este"<<P/10<<"in baza 2";
getch();
return 0;}
105.Sa se faca conversia unui numar natural n din baza 10 in baza 8 .
Algoritm:
start
citeste n
x=n
s=3
cat timp n=!0 executa
s=s*10+rest(n,8)
n=cat(n,8)
sfarsit cat timp
p=0
cat timp s=!0 executa
p=p*10+rest(s,10)
s=cat(s,10)
sfarsit cat timp
p=cat(p,10)
tipareste p
stop
Program:
#include <iostream>
#include <conio.h>
using namespace std;
long n,s,p,x;
int main(){
cout<<"n=";cin>>n;
x=n;
s=3;
while(n)
{s=s*10+n%8;
n=n/8;}
p=0;
while(s)
{p=p*10+s%10;
s=s/10;}
cout<<"numarul"<<x<<"este"<<p/10<<"in baza 8";
getch();
return 0;}
106.Se citeste un sir de numere intregi ,sa se determine cate dintre elemente contin cifra 3.
Algoritm:
start
citeste n
s=0
pentru i=0la n‐1 executa
citeste a[i]
sfarsit pentru
cat timp a[i]=!0executa
daca rest (a[i],10)=3atunci
s=s+1
a[i]=cat(a[i],10)
sfarsit daca
sfarsit cat timp
tipareste s
stop
Program:
#include<iostream>
#include <conio.h>
using namespace std;
int n,i,a[50],s;
int main(){
cout<<"n=";cin>>n;
for(i=0;i<n;i++)
{cout<<"a["<<i<<"]=";
cin>>a[i];}
cout<<"sirul citit este"<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
s=0;
for(i=0;i<n;i++)
while(a[i]){
if (a[i]%10==3)
s=s+1;
a[i]=a[i]/10;}
cout<<"sunt" << s<< "numere care contin cifra 3";
getch();
return 0;}
107.Sa se faca conversia unui numar natural n din baza 10 intr‐o baza b,2<=b<10.
Algoritm:
start
citeste n,b
x=n
s=1
cat timp n=!0 executa
s=s*10+rest(n,b)
n=cat(n,b)
sfarsit cat timp
p=0
cat timp s=!0 executa
p=p*10+rest(s,10)
s=cat(s,10)
sfarsit cat timp
p=cat(p,10)
tipareste p
stop
Program
#include <iostream>
#include <conio.h>
using namespace std;
long n, b,s,p,x;
int main(){
cout<<"n=";cin>>n;
cout<<"b=";cin>>b;
x=n;
s=1;
while(n)
{s=s*10+n%b;
n=n/b;}
p=0;
while(s)
{p=p*10+s%10;
s=s/10;}
p=p/10;
cout<<"numarul"<<x<<"este "<<p<<"in baza"<<b;
getch();
return 0;}
108.Se citeste un sir de numere intregi ,sa se determine cate dintre elemente au un numar par de
cifre.
Algoritm:
start
citeste n
p=0
pentru i=0 la n‐1 executa
citeste a[i]
sfarsit pentru
cat timp a[i] =!0 executa
s=s+1
a[i]=cat(a[i],10)
sfarsit cat timp
daca rest(s,2)=0 atunci
p=p+1
sfarsit daca
tipareste p
stop
Program:
#include<iostream>
#include <conio.h>
using namespace std;
int n,i,a[50],s,p;
int main(){
cout<<"n=";cin>>n;
for(i=0;i<n;i++)
{cout<<"a["<<i<<"]=";
cin>>a[i];}
cout<<"sirul citit este"<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
p=0;
for(i=0;i<n;i++){
s=0;
while(a[i]){
s=s+1;
a[i]=a[i]/10;}
if(s%2==0)
p=p+1;}
cout<<"sunt"<<p<<"elemente care au un numart par de cifre";
getch();
return 0;}
109.Sa se faca conversia unui numar natural n din baza 2 in baza 10;
Algoritm:
START
Citeste n
nr=0
x=n
cat timp x#0 executa
x=cat(x,10)
nr=nr+1
sfarsit cat timp
s=0
pentru i=0 la n
p=1
pentru j=1 la i
p=p*2
s=s+rest(n,10)*p
n=cat(n,10)
sfarsitpentru
sfarsitpentru
Tiparesete “numaruleste”,s
STOP
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
long n,nr,x,i,j;
int s,p;
intmain(){
cout<<"n=";cin>>n;
nr=0;
x=n;
while(x)
{x=x/10;
nr=nr+1;}
s=0;
for(i=0;i<n;i++)
{p=1;
for(j=1;j<=i;j++)
p=p*2;
s=s+(n%10)*p;
n=n/10;}
cout<<"numarul este"<<s;
getch();
return 0;}
110.Sa se faca conversia unui numar natural n din baza 8 in baza 10:
Algoritm:
START
Citeste n
nr=0
x=n
cat timp x#0 executa
x=cat(x,10)
nr=nr+1
sfarsit cat timp
s=0
pentru i=0 la n
p=1
pentru j=1 la i
p=p*8
s=s+rest(n,10)*p
n=cat(n,10)
sfarsitpentru
sfarsitpentru
Tiparesete “numaruleste”,s
STOP
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
long n,nr,x,i,j;
int s,p;
intmain(){
cout<<"n=";cin>>n;
nr=0;
x=n;
while(x)
{x=x/10;
nr=nr+1;}
s=0;
for(i=0;i<n;i++)
{p=1;
for(j=1;j<=i;j++)
p=p*8;
s=s+(n%10)*p;
n=n/10;}
cout<<"numarul este"<<s;
getch();
return 0;}
111.Sa se faca conversia unui numar natural n din baza b<10 in baza 10:
Algoritm:
START
Citeste n
nr=0
x=n
cat timp x#0 executa
x=cat(x,10)
nr=nr+1
sfarsit cat timp
s=0
pentru i=0 la n
p=1
pentru j=1 la i
p=p*b
s=s+rest(n,10)*p
n=cat(n,10)
sfarsitpentru
sfarsitpentru
Tiparesete “numaruleste”,s
STOP
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
long n,nr,x,i,j,b;
int s,p;
intmain(){
cout<<"n=";cin>>n;
nr=0;
x=n;
while(x)
{x=x/10;
nr=nr+1;}
s=0;
for(i=0;i<n;i++)
{p=1;
for(j=1;j<=i;j++)
p=p*b;
s=s+(n%10)*p;
n=n/10;}
cout<<"numarul este"<<s;
getch();
return 0;}
112.Sa se scrie un program care calculeazaprodusul a n numereintregi date de la tastatura.
Algoritm:
Start
Citeste n
Pentru i=1 la n pas 1
Citeste x
S=S*n
Sfarsit pentru
Tipareste “produsul este” ,S
Stop
Program:
#include<iostream>
#include<conio.h>
Using namespace std;
int n,x,i,S;
intmain(){
cout<<"x=";cin>>x;
S=1;
for(i=0;i<x;i++)
{cout<<"n=";cin>>n;
S=S*n;
}
cout<<"produsul este"<<S;
getch();
return 0;}
113.Sa se faca conversia unui numar natural dintr‐o baza b in baza 10.(2<=b;b!=10)
Algoritm:
Start
Citeste n,b;
x=n;
Daca b>=2 si b<=9 atunci
S=0;
Cat timp x≠ 0 executa
x = cat(x,10);
S=S+1;
Sfarsit cat timp
P = 0;
Pentru i=0 la S‐1 pas 1
A=1;
Pentru j=1 la I pas 1
A=A*b;
P=P+ rest(n,10)*A;
n =cat(n,10)
Tipareste “numarul este”, P;
Sfarsit pentru
Sfarsit pentru
Altfel
Tipareste”baza nu este valida”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,b,S,P,x,A,j,i;
int main()
{
cout<<"n=";cin>>n;
x=n;
cout<<"b";cin>>b;
if(b>=2&&b<=9)
{S=0;
while(x)
{x=x/10;
S=S+1;}
P=0;
for(i=0;i<S;i++)
{A=1;
for(j=1;j<=i;j++)
A=A*b;
P=P+(n%10)*A;
n=n/10;
cout<<"numarul este"<<P;}}
else
cout<<"baza nu este valida";
getch();
return 0;}
114. Sa se faca conversia unui numar din baza 2 in baza 10.
Algoritm:
Start
Citeste n
nr=0
x=n;
Cat timp x≠ 0 executa
x = cat(x,10)
nr = nr+1
Sfarsit cat timp
S=0;
Pentru i=0 la nr‐1 pas 1
P=1;
Pentru j=1 la i pas 1
P=P*2
S=S+rest(n,10)*P
n = cat (n,10)
Sfarsit pentru
Sfarsit pentru
Tipareste “numarul este”, S
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,x,S,P,i,j,nr;
int main()
{
cout<<"n=";cin>>n;
nr=0;
x=n;
while(x)
{x=x/10;
nr=nr+1;}
S=0;
for(i=0;i<nr;i++)
P=1;
for(j=1;j<=i;j++)
{P=P*2;
S=S+(n%10)*P;
n=n/10;}
cout<<"numarul este"<<S;
getch();
return 0;
}
115. Sa se afiseze cifrele patrate perfecte ale unui numar n si numarul de aparitii ale acestora printre
cifrele lui n.
Algoritm:
Start
Citeste n
A=0;
B=0;
C=0;
D=0;
Cat timp n≠ 0 executa
Daca rest(n,10)=0 atunci
A=A+1;
Altfel
Daca rest(n,10)=1 atunci
B=B+1;
Altfel
Daca rest (n,10)=4 atunci
C=C+1;
Altfel
Daca rest(n,10)=9 atunci
D=D+1;
n=cat(n,10)
Sfarsit daca
Sfarsit daca
Sfarsit daca
Sfarsit daca
Daca A ≠ 0 atunci
Tipareste”cifra 0 s‐a gasit de “,A,”ori”
Sfarsit daca
Daca B ≠ 0 atunci
Tipareste”cifra 1 s‐a gasit de”,B,”ori”
Sfarsit daca
Daca C ≠ 0 atunci
Tipareste “cifra 4 s‐a gasit de “,C,”ori”
Sfarsit daca
Daca D ≠ 0 atunci
Tipareste”cifra 9 s‐a gasit de”,D,”ori”
Sfarsit daca
Daca A+B+C+D=0 atunci
Tipareste”numarul nu contine patrate perfecte”
Sfarsit daca
Sfarsit cat timp
Stop
Program :
#include<iostream>
#include<conio.h>
using namespace std;
int n,A,B,C,D;
int main()
{
cout<<"n=";cin>>n;
A=0;
B=0;
C=0;
D=0;
while(n)
{if(n%10==0)
A++;
else
if(n%10==1)
B++;
else
if(n%10==4)
C++;
else
if(n%10==9)
D++;
n=n/10;}
if(A!=0)
cout<<"cifra 0 s‐a gasit de"<<A<<"ori";
if(B!=0)
cout<<"cifra 1 s‐a gasit de"<<B<<"ori";
if(C!=0)
cout<<"cifra 4 s‐a gasit de"<<C<<"ori";
if(D!=0)
cout<<"cifra 9 s‐a gasit de"<<D<<"ori";
if(A+B+C+D==0)
cout<<"numarul nu contine cifre patrate perfecte";
getch();
return 0;
}
116. Sa se caute o cifra data printre cifrele numarului natural n si sa se determine numarul de aparitii
ale cifrei printre cifrele lui n.
Algoritm:
Start
Citeste n ,x
S=0;
Cat timp n ≠ 0 executa
Daca rest(n,10)= x atunci
S=S+1;
n=cat(n,10)
Sfarsit daca
Sfarsit cat timp
Daca S ≠ 0 atunci
Tipareste”cifra”, x ,” s‐a gasit de”, S, “ori”
Altfel
Tipareste”cifra”, x ,”nu se gaseste in numar”
Sfarsit daca
Stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,S,x;
int main()
{cout<<"n=";cin>>n;
cout<<"x=";cin>>x;
S=0;
while(n)
{if(n%10==x)
S++;
n=n/10;}
if(S!=0)
cout<<"cifra"<<x<<"s‐a gasit de"<<S<<"ori";
else
cout<<"cifra"<<x<<"nu se afla in numar";
getch();
return 0;
}
117.Sa se decida daca suma cifrelor nr. natural n nenul este sau nu nr. prim.
Algoritm:
start
citeste n
s=0
cat timp n>0 executa
s=s+rest(n,10)
n=cat(n,10)
sfarsit cat timp
prim=1
pentru i=2 la n
daca rest(n,i)=0
prim=0;
sfarsit daca
sfarsit pentru
daca prim=1
tipareste "suma cifrelor lui n este un numar prim"
altfel
tipareste "suma cifrelor lui n nu este un numar prim"
sfarsit daca
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,i,s,p;
int main(){
cout<<"n=";cin>>n;
while(n)
{s=s+n%10;
n=n/10;}
for(i=1;i<s;i++)
{if(n%i==0)
p=p+1;}
if(p==1)
cout<<"suma este nr prim";
else
cout<<"suma nu este nr prim";
getch();
return 0;}
118.Se citeste un nr.Sa se numere cati divizori primi contine numarul.
Algoritm:
start
citeste n
pentru i=1 la n
daca rest(n,i)=0 atunci
prim=1
pentru j=2 la i
daca rest(i,j)=0 atunci
prim=0
sfarsit daca
sfarsit pentru
daca prim=1 atunci
tipareste i
sfarsit daca
sfarsit pentru
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,s,i,j,prim;
int main()
{cout<<"n=";cin>>n;
s=0;
for(i=1;i<=n;i++)
if(n%i==0)
{prim=1;
for(j=2;j<i;j++)
if(i%j==0)
prim=0;
if(prim==1)
s=s+1;}
cout<<"avem"<<s<<"divizori primi";
getch();
return 0;}
119.Se citeste un nr.Sa se numere cate cifre contine nr. cuprinse in intervalul format dintre prima
cifra si ultima cifra.
Algoritm:
start
citeste n
s=0
x=n
daca n>=10 atunci
cat timp x>=10 executa
x=cat(x,10)
sfarsit cat timp
y=rest(n,10)
cat timp n!=0 executa
daca rest(n,10)>=x si rest(n,10)<=y sau rest(n,10)>=y si rest(n,10)<=x atunci
s=s+1
n=cat(n,10)
sfarsit cat timp
sfarsit daca
tipareste "nr contine "s" cifre in interval"
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int n,s,x,y;
int main()
{cout<<"n=";cin>>n;
s=0;
x=n;
if(n>=10)
{while(x>=10)
x=x/10;
y=n%10;
while(n)
{if(n%10>=x&&n%10<=y||n%10>=y&&n%10<=x)
s=s+1;
n=n/10;}
cout<<"nr contine "<<s<<" cifre in interval";
getch();
return 0;}}
120.Se citeste un nr.Sa se determine cel mai mic nr. care se poate forma cu cifrele sale.Cifrele nr.
sunt pozitive.
Algoritm:
start
citeste n
x=0
pentru i=1 la 9
s=0
y=n
cat timp y!=0 executa
daca rest(y,10)=i atunci
s=s+1
sfarsit daca
y=cat(y,10)
sfarsit cat timp
pentru j=1 j<=s
x=x*10+i
sfarsit pentru
sfarsit pentru
tipareste "nr format este "x;
stop
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,x,s,i,y,j;
int main(){
cout<<"n=";cin>>n;
x=0;
for(i=1;i<=9;i++)
{s=0;
y=n;
while(y)
{if(y%10==i)
s=s+1;
y=y/10;}
for(j=1;j<=s;j++)
x=x*10+i;}
cout<<"nr format este "<<x;
getch();
return 0;}
121. Se citesc doua numere.Sa se determine care dintre cele doua numere are cifra mai mare de pe
pozitia para.
Algoritm:
START
Citeste a,b
maxa=0
maxb=0
x=a
y=b
a=cât(a,10)
Cât timp a!=0 executa
Daca rest(a,10)>maxa atunci
maxa=rest(a,10)
Sfarsut daca
a=cât(a,100)
Sfarsit cat timp
b=cat(b,10)
Cat timp b!=0 executa
Daca rest(b,10)>maxb atunci
maxb=rest(b,10)
Sfarsit daca
b=cât(b,100)
Sfarsit cat timp
Daca maxa>maxb atunci
Tipareste “cifra cea mai mare o contine”,x, “si este”,maxa
Altfel
Tipareste “cifra cea mai mare o contine “ ,y, “ si este “, maxb
Sfarsit daca
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long a,b,maxa,maxb,x,y;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
maxa=0;
x=a;
y=b;
maxb=0;
a=a/10;
while(a)
{if((a%10)>maxa)
maxa=a%10;
a=a/100;}
b=b/10;
while(b)
{if((b%10)>maxb)
maxb=b%10;
b=b/100;}
if(maxa>maxb)
cout<<"cifra cea mai mare o contine"<<x<<"si este"<<maxa;
else
cout<<"cifra cea mai mare o contine"<<y<<"si este"<<maxb;
getch();
return 0;}
122. Se citesc trei numere.Sa se determine cifrel commune celor trei numere.
Algoritm:
START
Citeste a,b,c
gasita=0
gasitb=0
gasitc=0
x=a
y=b
z=c
Pentru i=0 la 9 executa
Cat timp x!=0 executa
Daca rest(x,10)=i atunci
gasita=1
Sfarsit daca
x=cât(x,10)
Sfarsit cat timp
Cat timp y !=0 executa
Daca rest(y,10)=i atunci
gasitb=1
Sfarsit daca
y=cât(y,10)
Sfarsit cat timp
Cat timp z!=0 executa
Daca rest(z,10)=i atunci
gasitc=1
Sfarsit daca
z=cât(z,10)
Sfarsit cat timp
Sfarsit pentru
Daca gasita*gasitb*gasitc*!=0 atunci
Tipareste “cifra comuna este”,i
Sfarsit daca
STOP
123. Se citeste un numar.Sa se determine toate modurile posibile in care se poate scrie numarul ca
suma de patru numere consecutive.
Algoritm :
START
Citeste n
gasit=0
x=n
Pentru x= ‐1 la x<n/4 executa
Daca x+(x+1)+(x+2)+(x+3)=n atunci
gasit=1
Tipareste n ,“=”,x,“+”,x+1,“+”,x+2,“+”,x+3
Sfarsit daca
Daca gasit=0 atunci
Tipareste “numarul nu se pote scrie ca suma de patru numere consecutive”
Sfarsit daca
Sfarsit pentru
STOP.
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long x,n,gasit;
int main() {
cout<<"n=";cin>>n;
gasit=0;
for(x=‐1;x<n/4;x++)
if(x+(x+1)+(x+2)+(x+3)==n)
{gasit=1;
cout<<n<<"="<<x<<"+"<<x+1<<"+"<<x+2<<"+"<<x+3;}
if(gasit==0)
cout<<"numarul nu se poate scrie ca suma de patru numere consecutive";
getch();
return 0;}
124. Se citeste trei numere.Sa se determine care dintre cele trei numere contin o cifra care se repeta
de trei ori.
Algoritm:
START
Citeste a,b,c
gasita=0
gasitb=0
gasitc=0
Pentru i=0 la 9 executa
x=a
y=b
z=c
nria=0
Cat timp x !=0 executa
Daca rest(x,10)=i atunci
nria=nria+1
Sfarsit daca
x=cât(x,10)
Sfrasit cat timp
Daca nria=3 atunci
Tipareste i, “apare de trei ori in”,a
gasita=1
Sfarsit daca
nrib=0
Cat timp y !=0 executa
Daca rest(y,10)=i atunci
nrib=nrib+1
Sfarsit daca
y=cât(y,10)
Sfrasit cat timp
Daca nrib=3 atunci
Tipareste i, “apare de trei ori in”,b
gasitb=1
Sfarsit daca
nric=0
Cat timp z !=0 executa
Daca rest(z,10)=i atunci
nric=nric+1
Sfarsit daca
z=cât(z,10)
Sfrasit cat timp
Daca nric=3 atunci
Tipareste i, “apare de trei ori in”,c
gasitc=1
Sfarsit daca
Daca gasita=0 si gasitb=0 si gasitc=0 atunci
Tipareste “nu s‐a gasit nicio cifra de trei ori”
Sfarsit daca
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long a,b,c,i,x,y,z,nria,nrib,nric,gasita,gasitb,gasitc;
int main(){
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
gasita=0;
gasitb=0;
gasitc=0;
for(i=0;i<=9;i++)
{x=a;
y=b;
z=c;
nria=0;
while(x)
{if(x%10==i)
nria++;
x=x/10;}
if(nria==3)
cout<<i<<"apare de 3 ori in"<<a;
gasita=1;}
nrib=0;
while(y)
{if(y%10==i)
nrib++;
y=y/10;}
if(nrib==3)
{cout<<i<<"apare de 3 ori in"<<b;
gasitb=1;}
nric=0;
while(z)
{if(z%10==i)
nric++;
z=z/10;}
if(nric==3)
{cout<<i<<"apare de 3 ori in"<<c;
gasitc=1;}
if(gasita==0&&gasitb==0&&gasitc==0)
cout<<"nu s‐a gasit nicio cifra de 3 ori";
getch();
return 0;}
125. Se citesc n numere.Să se determine câte din numerele respective au oglinda pară şi numarul de
divizori impar.
Algoritm:
START
Citeşte n,s,i,y,x,p,j;
s=0
Pentru i=1 până la n
y=x;
p=0;
Cât timp y>=10 execută
y=cât(y,10)
Pentru j=1 până la x
Dacă rest (x,j)=0 atunci
p=p+1;
Dacă rest(y,2)=0 şi rest(p,2)!=0
s=s+1;
Sfârşit daca
Sfârşit daca
Sfârşit pentru
Sfârşit cât timp
Sfârşit pentru
Tipăreşte s numerele au oglinda pară şi numărul de divizori impar
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,s,i,y,x,p,j;
int main(){
cout<<"n=";cin>>n;
s=0;
for(i=1;i<=n;i++)
{cout<<"x=";cin>>x;
y=x;
p=0;
while(y>=10)
y=y/10;
for(j=1;j<=x;j++)
if(x%j==0)
p=p+1;
if(y%2==0&&p%2!=0)
s=s+1;}
cout<<s<<"numerele au oglinda para si numarul de divizori impar";
getch();
return 0;}
126.Se citesc n numere. Să se determine câte dintre ele au cifrele în ordine crescătoare şi oglinda lor
este un număr prim.
Algoritm:
START
Citeşte n,s,i,x,cresc,a,p,prim,j;
s=0;
Pentru i=1 la n
cresc=1;
a=x;
Cât timp a!=0 şi cresc!=0 execută
Dacă rest(a,10;rest(cât(a,10),10) atunci
cresc=1;
Sfârşit dacă
a=cât(a,10)
Sfârşit cât timp
p=0;
Cât timp x!=0 execută
p=p*10+rest (x,10)
x=cât(x,10)
Sfârşit cât timp
prim=1;
Pentru j=2 la p
Dacă rest(p,j)=0
prim=0;
Dacă cresc*prim=1 atunci
s=s+1;
Sfârşit dacă
Sfârşit dacă
Sfârşit pentru
Sfârşit pentru
Tipăreşte sunt s numere care respectă condiția
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
long n,s,i,x,cresc,a,p,prim,j;
int main(){
cout<<"n=";cin>>n;
s=0;
for(i=1;i<=n;i++)
{cout<<"x=";cin>>x;
cresc=1;
a=x;
while(a&&cresc)
{if(a%10<(a/10)%10)
cresc=0;
a=a/10;}
p=0;
while(x)
{p=p*10+x%10;
x=x/10;}
prim=1;
for(j=2;j<p;j++)
if(p%j==0)
prim=0;
if(cresc*prim==1)
s++;}
cout<<"sunt"<<s<<"numere care respecta conditia";
getch();
return 0;}
127. Să se afişeze câte elemente pozitive şi negative avem în şir.
Algoritm:
START
Citeşte a[50],n,i,neg,poz,zer;
Pentru i=0 la n‐1
Citeşte a[i]
Sfârşit pentru
Tipăreşte şirul citit este
Pentru i=0 la n
Tipăreşte a[i]
Sfârşit pentru
neg=0;
poz=0;
zer=0;
Pentru i=0 la n
Dacă a[i]>0 atunci
poz=poz+1;
Altfel
Dacă a[i]<0 atunci
neg=neg+1;
Altfel
zer=zer+1;
Sfârşit dacă
Sfârşit dacă
Sfârşit pentru
Tipăreşte pozitive sunt poz, negative sunt neg,egale cu zero sunt zer;
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a[50],n,i,neg,poz,zer;
int main(){
cout<<"n=";cin>>n;
for(i=0;i<n;i++)
{cout<<"a["<<i<<"]=";
cin>>a[i];}
cout<<"sirul citit este "<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
neg=0;
poz=0;
zer=0;
for(i=0;i<n;i++)
{if(a[i]>0)
poz=poz+1;
else
if(a[i]<0)
neg=neg+1;
else
zer=zer+1;}
cout<<"pozitive"<<poz<<"negative"<<neg<<"egale cu zero"<<zer;
getch();
return 0;}
128. Se citeşte un şir de numere întregi.Să se determine câte dintre ele sunt pare,impare şi divizibile
cu 3.
Algoritm:
START
Citeşte a[50],n,i,neg,poz,zer;
Pentru i=0 la n‐1
Citeşte a[i]
Sfârşit pentru
Tipăreşte şirul citit este
Pentru i=0 la n
Tipăreşte a[i]
Sfârşit pentru
par=0;
impar=0;
d3=0;
Pentru i=0 la n
Dacă rest(a[i],2)=0 atunci
par=par+1;
Altfel
impar=impar+1;
Dacă rest(a[i],3)=0 atunci
d3=d3+1;
Sfârşit dacă
Sfârşit dacă
Sfârşit pentru
Sfârşit pentru
Tipăreşte numere pare sunt pare,impare sunt impare si divizibile cu 3 sunt d3
STOP
Program:
#include<iostream>
#include<conio.h>
using namespace std;
int a[50],n,i,par,impar,d3;
int main(){
cout<<"n=";cin>>n;
for(i=0;i<n;i++)
{cout<<"a["<<i<<"]=";
cin>>a[i];}
cout<<"sirul citit este "<<endl;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
par=0;
impar=0;
d3=0;
for(i=0;i<n;i++)
{if(a[i]%2==0)
par=par+1;
else
impar=impar+1;
if(a[i]%3==0)
d3=d3+1;}
cout<<"pare"<<par<<"impare"<<impar<<"si divizibile cu trei"<<d3;
getch();
return 0;}