Academia.eduAcademia.edu

CULEGERE INFORMATICA

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;}