Sunteți pe pagina 1din 30

Probleme informatica clasa a 9-a

Tema 7(If.Else*) :
Problema 3. Se citesc trei valori intregi, reprezentand cifre, sa se formeze numarul
care incepe cu o cifra para, care poate fi oricare dintre cele trei. Daca nu exista cifre
pare se va scrie un mesaj.
int main()
{ int a,b,c,nr;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a%2==0)
{nr=a*100+b*10+c;
cout<<nr;
}
else if(b%2==0)
{nr=b*100+a*10+c;
cout<<nr;
}
else if(c%2==0)
{nr=c*100+a*10+b;
cout<<nr;
}
else
cout<<"nu exista cifra para";
}

Problema 4. Se citeste un numar intreg din trei cifre. Sa se determine cifra cea mai
mare.
int main()
{ int a,b,c,nr;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
a=nr/100;
b=nr/10%10;
c=nr%10;
if(a>b%%a>c)
cout<<a<<"este cel mai mare";
else if(b>a&&b>c)
cout<<b<<"este cel mai mare";
else if(c>a&&c>b)

cout<<c<<"este cel mai mare";


}
Problema 5. Se citesc coordonatele a doua puncte in plan, daca dreapta ce le
uneste este paralela cu Ox calculati si afisati lungimea acestui segment.
int main()
{ int x1,x2,y1,y2,l;
cout<<"x1=";cin>>x1;
cout<<"x2=";cin>>x2;
cout<<"y1=";cin>>y1;
cout<<"y2=";cin>>y2;
if(y1==y2)
cout<<"l="<<sqrt((x2-x1)+(x2-x1)+(y2-y1)+(y2-y1));
}
Problema 6. Se citesc coordonatele a doua puncte in plan, astfel incat dreapta sa
fie paralela cu axa Oy. Sa se verifice daca dreapta ce le uneste este intr-un singur
cadran.
int main()
{ int x,y1,y2;
cout<<"x1=x2=";cin>>x;
cout<<"y1=";cin>>y1;
cout<<"y2=";cin>>y2;
if(x>0&&y1>0&&y2>0)
cout<<" cadran I";
if(x<0&&y1>0&&y2>0)
cout<<" cadran II";
if(x<0&&y1<0&&y2>0)
cout<<" cadran III";
if(x>o&&y1<0&&y2<0)
cout<<" cadran IV";
}
Problema 7. Se citeste un numar din patru cifre. Daca cifrele din mijloc sunt egale
sa se calculeze produsul lor, in caz contrar sa se calculeze suma lor. Afisati
rezultatul.
int main()
{ int a,b,c,d,nr;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
b=nr/100%10;
c=nr%10%10;
if(b==c)
cout<<"b*c"<<b*c;
else
cout<<"b+c"<<b+c;

}
Problema 8. Se citeste un numar din patru cifre. Daca cifra miilor este mai mica
decat cifra zecilor sa se formeze un numar cu aceste doua valori, in caz contrar sa
se scrie un mesaj.
int main()
{ int a,b,c,d,nr;
cout<<"a=";cin>>a;
cout<<"c=";cin>>c;
a=nr/1000;
c=nr/10%10;
if(a<c)
cout<<a*10+c;
else cout<<" cifra miilor este mai mare"
}

Tema 8(If.Else**) :
Problema 3. Se citesc trei valori reale in variabilele a,b,c. Daca cele trei valori pot
forma unghiurile unui triunghi sa se verifice daa toate unghiurile sunt ascutite, in caz
contrar verificati daca exista un unghi obtuz sau un unghi drept. Scrieti un mesaj
corespunzator pentru fiecare caz.
int main()
{int a,b,c;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if (a+b+c==180&&a>0&&b>0&&c>0)
{ if(a<90&&b<90&&c<90)
cout<<"triunghi ascutitunghic";
else if(a>90||b>90||c>90)
cout<<"triunghi obtuzunghic";
else cout<<"triunghi dreptunghic";
}
else cout<<"a,b,c nu pot fi unghiurile unui triunghi";
}

Problema 4. Se citeste un numar intreg reprezentand un an calendaristic sa se


verifice daca anul este bisect.
int main()
{ int a;
cout<<"a=";cin>>a;
if(a%400==0)
cout<<"an bisect";
else
cout<<"nu este an bisect";
}

Problema 5. Se citesc doua numere intregi x si y, sa se verifice daca ultima cifra a


lui x este jumatate din patratul penultimei cifre a lui y .
int main()
{int x,y;
cout<<"x=";cin>>x;
cout<<"y=";cin>>y;
if(x%10==((y/10)%10)*((y/10)%10)/2)
cout<<"este jumatate";
else
cout<<"nu este jumatate";
}
Problema 6. Se citesc patru numere intregi. Sa se calculeze produsul primelor doua
numere si si suma ultimelor doua numere citite. Verificati daca ultima cifra a
produsului este egala cu ultima cifra a sumei.
int main()
{int a,b,c,d,s,p;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
cout<<"d=";cin>>d;
s=c+d;
p=a*b;
if(p%10==s%10)
cout<<"este egala";
else
cout<<"nu este egala";
}

Problema 7. Se citeste un numar intreg. Sa se verifice daca ultimele doua cifre sunt
identice.

int main()
{int a;
cout<<"a=";cin>>a;
if(a/100%10==a%10)
cout<<"ultimele doua cifre sunt identice";
else
cout<<"ultimele doua cifre nu sunt identice";
}
Problema 8. Se citeste un numar din 4 cifre . Sa se verifice daca produsul primelor
doua cifre esteun numar par .
int main()
{int a;
cout<<"a=";cin>>a;
if((a/1000)*((a/100)%10)%2==0)
cout<<"produsul primelor doua cifre este par";
else
cout<<"produsul primelor doua cifre nu este par";
}

Tema 10(While*) :
Problema 2. Se citesc pe rand n valori intregi sa se calculeze suma valorilor pare
care au exact doua cirfe.
int main()
{int n,s,i,x;
s=0;
cout<<"n=";cin>>n;
i=1;
while(i<=n)
{cout<<"nr=";cin>>x;
if(x%2==0&&x>9&&x<100)
s=s+x;
i++;
}
cout<<"s="<<s;
}
Problema 3. Se citesc pe rand n valori intregi, sa se afiseze acele valori citite
consecutive, care reprezinta si valori alaturate in intervalul numerelor intregi.
int main()
{int x,y,n,i;
cout<<"n=";cin>>n;
cout<<"x=";cin>>x;
i=2;

while(i<=n)
{cout<<"y=";cin>>y;
if(abs(x-y)==1)
cout<<"("<<x<<","<<y<<")";
x=y;
i++;
}
}

Problema 4. Se citesc pe rand n valori intregi sa se calculeze media aritmetica a


tuturor valorilor care sunt divizibile cu propria cifra a unitatilor.
int main()
{int m,i,x,u,s=0,nr=0;
float n;
cout<<"n=";cin>>n;
i=1;
while(i<=n)
{cout<<"x=";cin>>x;
u=x%10;
if(x%u==0)
{s=s+x;
nr++;}
i++;
}
m=(float)s/nr;
cout<<"m="<<m;
}

Problema 5. Se citesc pe rand n caractere, sa se numere cate dintre acestea


reprezinta litere mici, cate litere mari si cate sunt alte caractere. Afisati rezultatul pe
randuri separate insotit de cate un mesaj.
int main()
{int n,i,x=0,y=0,z=0;
char c;
cout<<"n=";cin>>n;
i=1;
while(i<=n)
{cout<<"x=";cin>>x;
if(c>='A'&&c<='Z') x++;
else if (c>='a'&&c<='z') y++;
else z++;
i++;}

cout<<"Litera mare"<<x<<endl;
cout<<"Litera mica"<<y<<endl;
cout<<"cifra"<<z;
}

Problema 6. Se citesc pe rand n numere intregi calculate raportul dintre suma


valorilor pare si numarul valorilor impare.
int main()
{int n,x,i,s=0,nr=0,r;
cout<<"n=";cin>>n;
i=1;
while(i<=n)
{cout<<"x=";cin>>x;
if(x%2==0)
s=s=x;
nr++;}
i++;
cout<<(float)s/nr;
}
Problema 7. Se citesc pe rand n valori reale, sa se determine in procente cat la suta
dintre valorile citite sunt negative.
int main()
{int n,x,nr=0,i;
cout<<"n=";cin>>n;
i=1;
while(i<=n)
{cout<<"x=";cin>>x;
if(x<0) nr++;
cout<<(float)nr*100/n<<"%";
i++;
}
}

Tema 11(While**) :
Problema 2. Se citesc valori intregi pana la intalnirea unui numar negativ. Sa se
determine cea mai mare valoare para si cea mai mica valoare impara citita. Sa se
afiseze rezultatul pe acelasi rand cu virgula intre ele.
int main ()
{int x,min,max;
min=2000; max=-2;
cout<<"x=";cin>>x;
while(x>0)
{if(x%2==0&&x>max)
max=x;

else if (x%2!=0 &&x<min)


min=x;
cout<<"x=";cin>>x;
}
cout<<"max"<<max<<" , "<<"min="<<min;
}
Problema 3. Se citesc valori intregi de la tastatura pana cand se introduce o valoare
egala cu primul numar citit. Calculati in procente cate numere pare si cate numere
impare s-au citit. Afisati rezultatele pe randuri separate.
int main ()
{int x,y,nr=0,k=0,p;
cout<<"x="; cin>>x;
if(x%2==0)
nr++;
else
k++;
cout<<"y="; cin>>y;
while(x!=y)
{ if(y%2==0)
nr++;
else
k++;
cout<<"y="; cin>>y;
}
cout<<"procentul numerelor pare este:"<<(float)nr*100/(x+y);
cout<<"procentul numerelor impare este:"<<(float)k*100/
(x+y);
}
Problema 4. Se citesc valori intregi pana la citirea lui 0. Sa se verifice daca printre
valorile citite exista numere care au toate cifrele egale. Se va scrie mesajul DA sau
NU.
int main ()
{int x,ok=0;
cout<<"x="; cin>>x;
while(x!=0)
{if(x%10==x/10%10) ok=1;
x=x/10;
cout<<"x="; cin>>x;}
if(ok==0)
cout<<"Nu";
else
cout<<"Da";}
Problema 5. Se citesc caractere pe rand, de la tastatura pana la intalnirea
caracterului punct. Numarati si afisati cate caractere alfabetice s-au citit.

int main ()
{int nr=0;
char x;
cout<<"x="; cin>>x;
while(x!='.')
{ if((x>='a'&&x<='z') || (x>='A'&& x<= 'Z'))
nr++;
cout<<"x="; cin>>x;
}
cout<<"s-au citit"<<nr<<"caractere";
}
Problema 6. Se citesc pe rand valori intregi pana la citirea unui numar mai mare
decat o valoare z cunoscuta. Calculati suma tuturor numerelor care se divid cu
ultima cifra a primei valori citite.
int main ()
{int s=0,x,z;
cout<<"x="; cin>>x;
cout<<"z="; cin>>z;
while(x<=z)
{ if(x%(x%10)==0)
s=s+x;
cout<<"x="; cin>>x;
}
cout<<"suma="<<s;
}
Problema 7. Se citesc pe rand valori inrtegi, citirea se incheie la introducerea unui
numar negativ par. Afisati toate valorile care se divid cu numarul format din ultimele 2
cifre ale sale.
int main( )
{int x;
cout<<"x=";cin>>x;
while(x%2==0&&x>=0)
{ if(x%(x%100)==0)
cout<<x<<" ";
cout<<"x=";cin>>x;
}
}

Tema 12(While***) :

Problema 2.Sa se afiseze toate numerele naturale pana la n cu proprietatea ca


suma cifrelor din numar este un numar par.
int main()
{ int x,s=0,c,n,y;
cout<<"n=";cin>>n;
x=1;
while(x<=n)
s=0; y=x;
while(y)
{c=y%10;
if(c%2!=0) s=s+c;
y=y/10;
}
if(s%2==0) cout<<x<<" ";
x++;}
cout<<endl;
}
Problema 3. Se citeste un numar cu cel mult 9 cifre. Sa se verifice daca cifrele
impare din numar incepand de la unitati sunt in ordine strict crescatoare. Exemplu:
pentru 2765341 se va afisa Da.
Problema 4. Se citesc un numar intreg cu cel mult 9 cifre si o cifra k. Sa se verifice
daca numarul format din ultimele k cifre ale numarului este numar prim.
int main()
{ int k,i,ok,nr,x,n;
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
nr=pow(10,k);
x=n%nr;
i=2;ok=1;
while(i<=x/2)
{ if(x%i==0) ok=0;
i++;
}
if(ok==1)
cout<<"nr prim";
else
cout<<"nr nu este prim";
return 0;
}
Problema 5. Se citesc n valori intregi de la tastatura. Sa se formeze un numar cu
acele valori care reprezinta cifre pozitive. Verificati daca s-a putut forma numarul si in
caz afirmativafisati valoarea obtinuta.

int main()

{ int n,c,nr=0,i;
cout<<"n=";cin>>n;
i=1;
while(i<=n)
{cout<<"x=";cin>>n;
if(x>=0&&x<=9)
nr=nr*10+c;
i++;
}
cout<<"nr="<<nr;
}
Problema 6. Sa se citeasca un numar intreg din mai mult de 5 cifre si o cifra k. Sa
se formeze un alt numar cu ultimele k cifre in ordinea in care apar ele in numarul
initial. Determina cifra cea mai mica si cea mai mare din noul numar. Exemplu:
nr=123456 k=3 se va afisa 456, 4 si 6.

Int main()
{ int n,k,max=-10000,min=10000,x;
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
k=pow(10,k);
n=n%(int)k;
while(n!=0)
{x=n%10;
if(x>max)
max=x;
else if(x<min)
min=x;
n=n/10;
}
cout<<"max="<<max;
cout<<"min="<<min;
cout<<endl;
}
Problema 7.Sa se citeasca un numar intreg din mai mult de 5 cifre si o cifra k. Sa se
formeze un alt numar cu primele k cifre in ordinea in care apar ele in numarul initial.
Afisati numarul format prin inversarea cifrelor numarului. Exemplu: pentru numarul
123456 si k=3 se va afisa 123 si 321.
int main()
{int k,n,inv=0,nr,c=0,m;
cout<<"n=";cin>>n;
cout<<"k=";cin>>k;
m=n;
while(m!=0)
{m=m/10;

c++;}
nr=n/pow(10, c-k);
cout<< nr<< endl;
while(nr!=0)
{inv=inv*10+nr%10;
nr=nr/10;}
cout<<"inversul numarului format este:"<<inv;
cout<<endl;
}
Problema 8. Sa se parcurga toate numerele din 3 cifre. Pentru fiecare numar din
acest interval, care nu se termina cu cifra, sa se calculeze cmmdc-ul intre prima si
ultima cifra a sa.
int main()
{ int x,u,p,q,z;
x=101;
while(x<=999)
{u=x%10;
p=x/100;
q=u;
z=p;
if(u!=0)
{while(u!=p)
{if(u>p)
u=u-p;
else
p=p-u;
}
cout<<"cmmdc("<<q<<" si "<<z<<")="<<u<<endl;
}
x++;
}
cout<<endl;
}

Tema 13(For*) :
Problema 3.

int main ()
{int n,i,e1=0,e2=0,e3=0,p=1;
Cinout<<n=;cin>>n;
{for(i=1; i<=n; i++)
e1=e1+i*i;}
for(i=1; i<=n; i++)
{if(i%2==0)
e2=e2-i*i*i;
else
e2=e2+i*i*i;}

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


{p=p*i;
e3=e3+(float)1/p;
}
cout<<e1<<endl<<e2<<endl<<e3;
}

Problema 4. Se citesc de la tastatura n valori intregi. Sa se afiseze media aritmetica


a celor negative.
int main()
{ int n,i,k=0,a,s=0;
float ma;
cout<<"Acest program afiseaza media aritmetica a numerelor negative. \n\n";
cout<<"Pentru cate numere doriti sa calculati media aritmetica?";
cin>>n;
for(i=1;i<=n;i++)
{ cout<<"Introduceti numarul "<<i<<": "; cin>>a;
if(a<0)
{ s=s+a;
k++;
}

}
ma=(float)s/k;
cout<<"Media aritmetica a numerelor negative este "<<ma;
}

Problema 5. Se citesc de la tastatura n valori intregi. Sa se afiseze cea mai mica


valoare impara citita.
int main ()
{int n,i,minp,a;

cout<<"n="; cin>>n;
minp=999;
for(i=1;i<=n;i++)
{cout<<"a="; cin>>a;
if((a%2==1)&&(a<minp))
minp=a;
}
cout<<"cel mai mic numar impar este "<<minp;
}
Problema 6. Se citesc de la tastatura n valori intregi. Sa se afiseze numarul de
valori pare aflate in intervalul [a,b], unde a si b se citesc de la tastaura.

int main()
{int a,b,i,x;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"Numerele pare din intervalul ["<<a<<","<<b<<"]sunt:";
for(i=a;i<=b;i++)
if(i%2==0)
cout<<i<<" ";
}
Problema 7. Se citeste de la tastatura o valoare naturala n.Sa se afiseze primii
termeni ai sirului lui Fibonacci.

int main()
{int f1,f2,f3,n,i;
cout<<"n=";cin>>n;
f1=f2=1;
cout<<"f1<<" "<<f2<<" "<<";
for(i=3;i<=n;i++)

{f3=f1+f2;
cout<<f3<<" ";
f1=f2;
f2=f3;
}
}
Problema 8. Se citesc de la tastatura doua valori m si n. Sa se calculeze produsul
celor 2 valori fara a folosi operatorul"*".

int main()
{int n,m,i,s=0;
cout<<"n=";cin>>n;
cout<<"m=";cin>>m;
for(i=1;i<=m;i++)
s=s+n;
cout<<"m+n="<<s;
}
Problema 9. Sa se afiseze numerele de doua cifre care au cifrele distincte.

int main()
{int i;
for(i=10;i<=99;i++)
if(i/10!=i%10)
cout<<i<<" ";
}

Problema 10. Se citeste un numar cu exact 5 cifre.Sa se afiseze suma cifrelor


numarului.

int main()
{int n,i,s=0;
cout<<"n=";cin>>n;
for(i=1;i<=5;i++)
{s=s+n%10;
n=n%10;
}
cout<<"s="<<s;
}

Tema 14(For**) :
Problema 3. Se citesc de la tastatura doua valori a si n. Sa se afiseze a la puterea
n.

int main()
{int n,a,i,p=1;
cout<<"n=";cin>>n;
cout<<"a=";cin>>a;
for(i=1;i<=n;i++)
p=p*a;
cout<<"a la puterea n="<<p;
}
Problema 4. Sa se calculeze suma numerelor de 3 cifre, numere care sunt divizibile
cu 5.

int main()
{int n,i,s=0;
cout<<"n=";cin>>n;
for(i=100;i<=999;i++)

{if(i%5==0)
s=s+i;
}
cout<<"s="<<s;
}
Problema 5. Se citeste de la tastatura o valoare naturala n. Sa se afiseze numarul
divizibil cu numarul citit.

int main()
{int n,i,nr=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
if(n%i==0)
nr++;
cout<<"divizori="<<nr;
return 0;}
Problema 6. Se citesc doua valori naturale a si b. Sa se afiseze numerele perfecte
din intervalul [a,b]. Daca nu exista numere perfecte in interval se va afisa mesajul
"NU EXISTA".

int main()
{int a,b,n,i,x,s,nr=0;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(x=a;x<=b;x++)
{s=0;
for(i=1;i<=x/2;i++)
if(x%i==0)
s=s+i;
if(s==x)
nr++;

cout<<x<<" ";}
if(n==0)
cout<<"Nu exista";
return 0;}
Problema 7. Se citesc de la tastatura n valori naturale.Sa se afiseze numereleprime,
precum si numarul lor.

int main()
{int n,nr,x,i,d,ok=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{ cout<<"x=";cin>>x;
ok=1;d=2;
while(d<=sqrt(n)&&ok==1)
{if(x%d==0)
ok==0;
d++;
if(ok)
{cout<<x<<"este nr.prim";
nr++;}
}
cout<<"nr=";cin>>nr;
}
Problema 8. Se citesc de la tastatura n valori reale. Sa se afiseze numarul valorilor
nule, numarul valorilor pozitive si numarul valorilor negative.

int main()
{int n,vp,vn,vneg,x,i;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)

{ cout<<"x=";cin>>x;
if(x<0)
vneg=vneg+1;
else
if(n==0)
vn=vn+1;
else
vp=vp+1;
}
cout<<"vn="<<vn<<"vp="<<vp<<"nneg="<<vneg;
}
Problema 9. Se citeste un numar natural n. Sa se afiseze divizorii primi ai lui n.

int main()
{int n,d,p;
cout<<"n=";cin>>n;
d=2;
while(n!=1)
{p=0;
while(n%d==0)
{n=n/d;
p++;}
if(nr!=0)
cout<<"div="<<d;
d++;}
}

Problema 10. Sa se afiseze numarul valorilor naturale de 4 cifre care sunt divizibile
cu 7.

int main()
{int k,i,x;
k=0;
for(x=1000;x<=9999;x++)
{if(x%7==0)
{k++;
cout<<"x="<< x<< endl;
}
}
cout<<"k="<< k;
}

Tema 15(For***) :
Problema 3. Sa se afiseze urmatoarele triunghiuri:
a) 1 2 3...n
1 2 3...n-1
.....
123
12
1
int main()
{int n,i,j,k;
cout<<"n=";cin>> n;
k=n;
for(j=1;j<=k;j++)
{for(i=1;i<=n;i++)
cout<< i<< " ";
cout<< endl;

n=n-1;
}
}

b) 1
22
33
.....
n n n...n
int main()
{int n,i,j;
cout<<"n=";cin>> n;
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
cout<< i<< " ";
cout<< endl;
}
}
c) 1
12
123
........
1 2 3...n
int main()
{int n,i,j,k;
cout<<"n=";cin>> n;
k=n;
for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)

cout<< " ";


for(k=1;k<=i;k++)
cout<< k;
cout<< endl;
}
}
Problema 4. Se citesc n numere naturale de la tastatura. Sa se verifice daca cel mai
mic numar este prim cu cel mai mare numar dintre cele citite.

int main()
{int n,a,i,min,max,x,y;
cout<<"n=";cin>>n;
for(i=2;i<=n;i++)
{cout<<"a=";cin>>a;
cout<<"min=";cin>>min;
cout<<"max=";cin>>max;
if(a<min)
min=a;
if(a>max)
max=a;}
min=x;
max=y;
while(x!=y)
{if(x>y)
x=x-y;
else
y=y-x;}
if(x==1)
cout<<"Valorile sunt prime intre ele";
else

cout<<"Valorile nu sunt prime intre ele";


}
Problema 5. Se citesc n numere naturale de la tastatura. Sa se afiseze numere care
au suma cifrelor un numar par.

int main()
{int n,s,x,i,y,c;
cout<<"n=";cin>> n;
for(i=1;i<=n;i++)
{cout<<"x=";cin>> x;
y=x;s=0;
while(y!=0)
{c=y%10;
s=s+c;
y=y/10;
}
if(s%2==0)
cout<<x<<endl;
else
cout<<"Nici un numar nu are suma cifrelor un numar par"<<endl;
}
}
Problema 6. Se citesc n numere naturale de la tastatura.Sa se numere cate sunt
palindroame.

int main()
{int n,i,inv,x,y,nr=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{inv=0;

cout<<"x=";cin>>x;
y=x;
while(y!=0)
{inv=inv*10+y%10;
y=y/10;
if(inv=x)
nr++;}
cout<<"Numarul palindroameloreste:"<<nr;
}
}

Problema 7. Se citesc n cifre de la tastatura. Sa se formeze un numar cu cifrele


citite.

int main()
{int n,i,c,x,nr=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{cout<<"x=";cin>>x;
nr=nr*10+c;
}
cout<<"nr="<<nr;
}

Problema 8. Se citesc de la tastaura 100 de numere reale. Sa se determine cate au


ultimele doua cifre identice.

int main()
{int n,i,x,nr=0;
cout<<"n=";cin>> n;
for(i=1;i<=100;i++)
if(x%10==x/10%10)
nr++;
cout<<"Nr care au ultimele 2 cifre identice sunt :"<<nr;
}
Problema 9. Se citesc doua numere naturale de cel putin 4 cifre si cel mult 9cifre.
Sa se verifice daca au cifra miilor egale. De exemplu: 12637 si 652345 au cifrele
miilor egale.
int main()
{int i;
long a,b;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(i=1;i<=3;i++)
{a=a/10;
b=b/10;}
if(a%10==b%10)
cout<<a<<"si"<<b<<"au cifrele miilor egale";
}
Problema 10. Se citeste o valoare naturala n,apoi n perechi de numere x si y care
reprezinta capetele a n intervale inchise.Sa se determine intersectia celor n
intervale.
int main()
{int n,x,y,li,ls,i;
cout<<"n=";cin>> n;
cout<<"x=";cin>> x;
cout<<"y=";cin>> y;
li=x;ls=y;

for(i=2;i<=n;i++)
{cout<<"x=";cin>> x;
cout<<"y=";cin>> y;
if(x>=li&&x<=ls)
li=x;
if(y>=li&&y< ls)
ls=y;
}
cout << "[" << li << "," << ls << "]";
}
.

Tema 16(DoWhile*) :
Problema 3. Se citeste numare naturale pana la intalnirea unei valori divizibila cu 5.
Sa se afiseze cate valori s-au citit(fara valoarea divizibila cu 5) si sa se afiseze acele
numere care au exact 3 cifre.
int main()
{int x,i=0;
do
{cout<<"x=";cin>>x;
i++;
if(x>=100&&x<=999)
cout<<x<<endl;
}while(x%5==0);
cout<<"S-au facut"<<i-1<<"citiri";
}
Problema 4. Se citeste un numar natural. Sa se afiseze cifra maxima a numarului.
int main()
{int x,max=-1;
cout<<"x=";cin>>x;

do
{
if(x%10>max)
max=x%10;
x=x/10;
}while(x!=0);
cout<<"max="<<max;
}
Problema 5. Se citeste un numar natural. Sa se afiseze cel mai mare divizor comun
dintre suma cifrelor numarului si produsul cifrelor numarului.
int main()
{int n,s=0,p=1;
cout<<"n=";cin>>n;
do
{
s=s+n%10;
p=p*n/10;
}while(s!=p);
if(s>p)
s=s-p;
else
p=p-s;
cout<<"c.m.m.d.c"<<s<<"si"<<p<<endl;

Problema 6. Se citeste un numar natural n. Sa se afiseze primele n numere prime.


int main()
{int n,i=1,ok,x=2,k;
cout<<"n=";cin>>n;
do
{

ok=1;
for(k=2;k<=x/2;k++)
if(x%k==0)
ok=0;
if(ok==1)
{i++;
cout<<x<<" ";}
x++;
}while(i<=n);
}
Problema 7. Sa se afiseze toate numerele de exact 4 cifre care contin cel putin o
cifra para.
int main()
{int x=1000,y,ok;
do
{
ok=0;y=x;
while(y!=0)
{if(y%10%2==0)
ok=1;
y=y/10;}
if(ok==1)
cout<<x<<" "<<endl;
x++;
}while(x<=9999);
}
Problema 8. Se citeste un numar natural n. Sa se afiseze primele n numare naturale
divizibile cu 5.
int main()
{int x,nr=0,n;

cout<<"n=";cin>>n;
x=5;
do
{
if(x%5==0)
{nr++;
cout<<x<<" ";}
x++;
}while(nr<=n);
}
Problema 9. Se citesc n numere intregi. Sa se afiseze cate contin cel putin o cifra
nula.

int main()
{int n,ok,i,x,nr=0;
cout<<"n=";cin>>n;
i=1;
do{cout<<"x=";cin>>x;
ok=0;
while(x!=0)
{if(x%10==0) ok++;
x=x/10;}
if(ok!=0) nr++;
i++;
}while(i<=n);
cout<<"nr="<<nr;
}
Problema 10. Se citesc numere intregi, de cel putin doua cifre, pana la introducerea
valorii 0. Sa se afiseze cate au cifra zecilor egala cu cifra unitatilor.*/

int main()
{int x,nr=0;
cout<<"x=";cin>>x;
do
{if(x>=10)
if(x%10==x%100/10) nr++;
cout<<"x=";cin>>x;
}while(x!=0&&(x>=10));
cout<<"nr="<<nr;
}