Sunteți pe pagina 1din 11

1. Se citeste un numar natural n cu cel mult 4 cifre.

Sa se afiseze in ordine crescatoare toate numele


naturale pare atat timp cat suma lor nu depaseste pe n.
Ex: pentru n=15 se afiseaza 2 4 6

#include<iostream.h>
int main()
{ int x,n,s;
cin>>n;
x=2;
s=2;
while(s<=n)
{ cout<<x<<" ";
x=x+2;
s=s+x;
}
}

2. Se citeste un numar natural n impar. Sa se afiseze primele n perechi de numere consecutive a


caror suma este divizibila cu n.
Ex: pentru n=3 se afiseaza perechile
12
45
78

#include<iostream.h>
int main() #include<iostream.h>
{ int n,x=1,k=0; int main()
cin>>n; { int n,x,k;
while(k<n) cin>>n;
{ if((x+x+1)%n==0) { cout<<x<<" "<<x+1<<endl; x=n/2;
k++; for(k=1;k<=n;k++)
} { cout<<x<<" "<<x+1<<endl;
x=x+1; x=x+n;
} }
} system("pause");}

3. Se citesc de la tastatura numere naturale (cel putin 3) pana cand antepenultimul + penultimul =
ultimul. Sa se afiseze suma numerelor citite.
Ex. daca citim 3 5 2 4 6 se va opri citirea dupa citirea lui 6 si se va afisa 20.

#include<iostream>
1
using namespace std;
int main()
{int x,y,z,s=0;
cin>>x>>y>>z;
s=x+y+z;
while(x+y!=z)
{ x=y;
y=z;
cin>>z;
s=s+z;
}
cout<<s;
system("pause");
return 0;
}

4. Se citeste un numar natural n. Se afiseze pe ecran un triunghi de forma:


*
**
***
.....
***...* (n caractere *)

#include<iostream>
using namespace std;
int main()
{int n,i,j;
cin>>n;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++) cout<<"* ";
cout<<endl;
}
system("pause");
return 0;
}

5. Se citesc n numere naturale. Sa se afiseze cel care are suma divizorilor maxima.

#include<iostream>
using namespace std;
int main()
{int i, n,x,max=0, mx, s=0,d;

2
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
s=0;
for(d=1;d<=x;d++)
if(x%d==0) s++;
if(s>max) { max=s;
mx=x;
}
}
cout<<mx<<" "<<max;
system("pause");
return 0;
}

6. Conversii explicite. Se citeste un caracter a. Sa se afiseze codul sau ASCII. Se citeste un numar
natural c din intervalul[32,127]. Sa se afiseze caracterul cu codul ASCII c.

#include<iostream>
using namespace std;
int main()
{ char a;
cout<<"a=";
cin>>a;
cout<<a<<" are codul ASCII "<<(int)a<<'\n';
int c;
cout<<"c=";
cin>>c;
cout<<"caracterul cu codul ASCII "<<c<<" este "<<(char)c;
return 0;
}

7. Se citeste un numar intreg a reprezetand un an. Sa se verifice daca a este an bisect.

#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"a=";
cin>>a;
if(a%4==0 && a%100!=0 || a%400==0) cout<<"da";
3
else cout<<"nu";
return 0;
}

8. Se citesc doua numere intregi a si b. Daca a divide pe b sau b divide pe a atunci sa se afiseze catul
impartirii celui mai mare la cel mai mic, iar altfel restul impartirii celui mai mare la cel mai mic.

#include<iostream>
using namespace std;
int main()
{
int a,b;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
if(a%b==0 || b%a==0)
if(a>b) cout<<a/b;
else cout<<b/a;
else if(a>b) cout<<a%b;
else cout<<b%a;
return 0;
}

9. Se citesc 3 numere intregi. Sa se afiseze cel mai mare dintre ele.

#include<iostream> #include<iostream>
using namespace std; using namespace std;
int main() int main()
{ {
int a,b,c; int a,b,c,max;
cout<<"a="; cin>>a; cout<<"a="; cin>>a;
cout<<"b="; cin>>b; cout<<"b="; cin>>b;
cout<<"c="; cin>>c; cout<<"c="; cin>>c;
if(a>=b && a>=c) cout<<a; max=a;
else if(b>=a && b>=c) cout<<b; if(b>max) max=b;
else if(c>=a && c>=b) cout<<c; if(c>max) max=c;
return 0; cout<<max;
} return 0;
}

10. Se citesc 3 numere naturale a, b,c. Sa se afiseze in ordinea crescatoare a valorii lor.

#include<iostream> #include<iostream>
using namespace std; using namespace std;
int main() int main()
4
{ int a,b,c; {
cout<<"a="; cin>>a; int a,b,c,aux;
cout<<"b="; cin>>b; cout<<"a="; cin>>a;
cout<<"c="; cin>>c; cout<<"b="; cin>>b;
if(a<=b && b<=c) cout<<a<<" "<<b<<" "<<c; cout<<"c="; cin>>c;
else if(a<=c && c<=b) cout<<a<<" "<<c<<" "<<b; if(a>b) { aux=a; a=b; b=aux; }
else if(b<=a && a<=c) cout<<b<<" "<<a<<" "<<c; if(a>c) { aux=a; a=c; c=aux; }
else if(b<=c && c<=a) cout<<b<<" "<<c<<" "<<a; if(b>c) { aux=b; b=c; c=aux; }
else if(c<=a && a<=b) cout<<c<<" "<<a<<" "<<b; cout<<a<<" "<<b<<" "<<c;
else if(c<=b && b<=a) cout<<c<<" "<<b<<" "<<a; return 0;
return 0; }
}

11. Se citesc 3 numere naturale a, b, c reprezentand laturile unui triunghi. Sa se calculeze aria
triunghiului cu laturile a, b, c. (Formula lui Heron)

#include<iostream>
using namespace std;
int main()
{
int a,b,c;
float p,A;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
p=(float)(a+b+c)/2;
A=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"aria este "<<A;
return 0;
}

12. Se citesc numere naturale pana cand se introduce numarul 0. Sa se afiseze cel mai mare numar
citit.

#include<iostream>
using namespace std;
int main()
{
int x, max;
cout<<"x="; cin>>x;
max=x;
while(x!=0)
{
if(x>max) max=x;
5
cout<<"x="; cin>>x;
}
cout<<max;
return 0;
}

13. Se citesc numere naturale pana cand se introduce numarul 0. Sa se afiseze media aritmetica a
numerelor introduse.

#include<iostream>
using namespace std;
int main()
{ int x,s,n;
float m;
s=0; n=0;
cout<<"x="; cin>>x;
while(x!=0)
{
s=s+x;
n++;
cout<<"x="; cin>>x;
}
m=(float)s/n;
cout<<m;
}

14. Se citesc doua numere naturale a si l. a reprezinta un an iar l numarul unei luni din anul a. Afisati
cate zile are luna l. Se va tine cont daca anul a este bisect.
Exemplu:
a=2008
l=2
rezultatul este 29 deoarece luna febrauarie are 29 de zile in anii bisecti.

#include<iostream>
using namespace std;
int main()
{ int a,l;
cout<<"a="; cin>>a;
cout<<"l="; cin>>l;
if(l==1 || l==3 || l==5 || l==7 || l==8 || l==10 || l==12) cout<<31;
else if(l==4 || l==6 || l==9 || l==11) cout<<30;
else if(a%4==0 && a%100!=0 || a%400==0) cout<<29;
6
else cout<<28;
return 0;
}

15. Se citeste un numar natural p reprezentand perimetrul unui triunghi. Afisati toate tripletele de
numere naturale care pot fi lungimile laturilor triunghiului de perimetru p.
Exemplu:
Daca p=10, solutii posibile sunt:
244
334

#include<iostream>
using namespace std;
int main()
{
int a,b,c,p;
cout<<"p="; cin>>p;
for(a=1;a<=p/2;a++)
for(b=a;b<=p/2;b++)
{
c=p-a-b;
if(c>=b && a+b>c) cout<<a<<" "<<b<<"
"<<c<<endl;
}
return 0;
}

16. Afisati toate numerele naturale de forma abba care sunt divizibile cu un numar natural n citit de la
tastatura.

#include<iostream>
using namespace std;
int main()
{ int n, a, x;
cout<<"n="; cin>>n;
for(a=10;a<=99;a++)
{
x=(a*10+a%10)*10+a/10;
if(x%n==0) cout<<x<<" ";
}
return 0;
}

7
17. Se citeste un numar natural k. Gasiti toate perechile de numere x si y cu proprietatea ca x*x-
y*y=k.
Exemplu:
Pentru k=15 exista 2 perechi (8,7) si (4,1).

#include<iostream>
using namespace std;
int main()
{
int k,a,b,x,y;
cout<<"k="; cin>>k;
for(a=1;a<=k;a++)
for(b=a+1;b<=k;b++)
if(k%a==0 && k%b==0)
{
x=(a+b)/2;
y=(b-a)/2;
if(x*x-y*y==k) cout<<x<<"
"<<y<<endl;
}
return 0;
}

18. Sa se scrie un program care afiseaza tabla inmultirii de la 1 la 10.

#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=1;i<=10;i++)
{
for(j=1;j<=10;j++)
cout<<i<<" X "<<j<<" = "<<i*j<<endl;
cout<<endl;
}
return 0;
}

19. Se citeste un numar natural n. Sa se determine daca este cub perfect.

#include<iostream>
using namespace std;
int main()
8
{
int n,i;
cout<<"n="; cin>>n;
i=1;
while(i*i*i<n) i++;
if(n==i*i*i) cout<<"da";
else cout<<"nu";
return 0;
}

20. Pentru un numar natural n citit de la tastatura sa se afiseze n*n numere astfel:
1 2 3 ... n
2 3 4 ... n+1
3 4 5 ... n+2
......
n n+1 n+2 ... 2n-1

#include<iostream>
using namespace std;
int main()
{
int n,i,j;
cin>>n;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++) cout<<i+j-1<<" ";
cout<<endl;
}
return 0;
}

21. Se citeste numarul natural n. Afisati in ordine crescatoare numerele de la 1 la n*n pe n randuri a
cate n numere fiecare.
Exemplu:
pentru n=4 se afiseaza
1234
5678
9 10 11 12
13 14 15 16

9
#include<iostream>
using namespace std;
int main()
{
int n,i;
cin>>n;
for(i=1;i<=n*n;i++)
{
cout<<i<<" ";
if(i%n==0)cout<<endl;
}
return 0;
}

22. Se citeste un numar natural p. Afisati toate tripletele de numere naturale care pot reprezenta
lungimile laturilor unui triunghi isoscel cu perimetrul egal cu p.
Exemplu:
pt p=12 se obtin tripletele:
444
552

#include<iostream> #include<iostream>
using namespace std; using namespace std;
int main() int main()
{ int a,c,p; { int p,a,c;
cin>>p; cin>>p;
for(a=1;a<=p/2;a++) for(a=1;a<=p/2;a++)
for(c=1;c<=p/2;c++) { c=p-2*a;
if(a+a+c==p && a+a>c) if(c<a+a && c>0)
cout<<a<<" "<<a<<" "<<c<<endl; cout<<a<<" "<<a<<" "<<c<<endl;
return 0; }
} return 0;
}

23. Se citesc 3 numere naturale n, a si b. Afisati primele n puteri ale lui 2 din intervalul [a,b]. Daca nu
exista cel putin n puteri ale lui 2 in interval, atunci se vor afisa cele care exista.
Exemple: pentru n=2 a=6 b=35 se vor afisa valorile 8 si 16
pentru n=2 a=24 b=55 se va afisa valoarea 32.

#include<iostream>
using namespace std;
int main()
{
10
int a,b,n,p,k;
cin>>n>>a>>b;
k=0;
p=1;
while(p<=b && k<n)
{ if(p>=a) { cout<<p<<" ";
k++;
}
p=p*2;
}
return 0;
}

11

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