Sunteți pe pagina 1din 5

PROBLEME REZOLVATE

1. Sa se afiseze toate numerele prime din intervalul [a,b].


Solutie:
#include<iostream>
using namespace std;
int main()
{
int a, b, i, ok, d;
cin>>a>>b;
for(i=a;i<=b;i++)
{
ok=1;
if(i==0 i==1) ok=0;
else for(d=!;d<=i"!;d++)
if(i#d==0) ok=0;
if(ok) cout<<i<<$ $;
%
return 0;
%
2. Sa se descompuna in factori primi un numar natural n si sa se afiseze factorii si puterile la
care ei apar in descompunere.
Solutie:

#include<iostream>
using namespace std;
int main()

{
int n,d,p;
cin>>n;
d=!;
&'ile(n>1)
{ if(n#d==0)
{
p=0;
&'ile(n#d==0) { p++;
n=n"d;
%
cout<<d<<$ la $ <<p<<endl;
%
else d++;
%
return 0;
%
3. Se citeste un numar natural n. Sa se verifice daca este palindrom.
Solutie:
#include<iostream('>
using namespace std;
int main()
{
int n,r,c;
r=0;
cout<<$n=$; cin>>n;
c=n;""copie
&'ile(n>0)
{ r=r)10+n#10;
n=n"10;
%
if(r==c) cout<<$este palindrom$;
else cout<<$nu este palindrom$;
return 0;
%
4. Se citeste o multime a cu n elemente numere naturale. Sa se afiseze toate submultimile
multimii a.
Explicatie: Se contruiesc intr-un vector caracteristic toate modalitatile de a pune valorile 0 si 1 pe n
pozitii si corespunzator fiecarei variante se asociaza o submultime astfel: pozitiile pe care este valoarea
1 corespund elementelor alese in submultime, iar cele cu valoarea 0 celor care nu sunt alese in
submultime.
Exemplu: Pentru n=5 si elementele 1 3 5 7 se !enereaza:
0 0 0 0 0 - multimea vida
1 0 0 0 0 - submultimea "1#
0 1 0 0 0 - submultimea "3#
1 1 0 0 0 - submultimea "1, 3#
0 0 1 0 0 - submultimea "5#
...
1 1 0 1 1 - submultimea "1, 3, 7, #
etc
Solutie:
$include%iostream&
using namespace std;
int main()
{
int a[100],n,i,p[100],t,c;
cout<<"n="; cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
for(i=1;i<=n+1;i++) p[i]=0;
wi!e(p[n+1]"=1)
{
for(i=1;i<=n;i++)
if(p[i]==1) cout<<a[i]<<" ";
cout<<end!;
i=1;
wi!e(p[i]==1 ## i<=n)
{ p[i]=0;
i++;
$
p[i]=1;
$
return 0;
$
. !n numar se numeste perfect daca este e"al cu suma divizorilor sai mai mici decat el, de
exemplu #$1%2%3.
Sa se afiseze toate numerele perfecte mai mici sau e"ale cu un numar n citit de la
tastatura.
Solutie:
&include'iostream(
using namespace std;
int main()
{
int n,s,d,*;
cin>>n;
for(*=1;*<=n;*++)
{
s=0;
for(d=1;d<*;d++)
if(*#d==0) s=s+d;
if(s==*) cout<<*<<$ $;
%
return 0;
%
#. Se citeste un numar natural n. Sa se determine daca este cub perfect.
Solutie:
&include'iostream.)(
#include<mat'('>
+oid main()
{ int n;
cin>>n;
float *=po&(n,1",(0);
if(*==floor(*)) cout<<$da$;
else cout<<$nu$;
%
*. Se citesc 4 numere naturale. Sa se calculeze cmmdc al lor.
Solutie:
&include'iostream.)(
int cmmdc(int *, int -)
{ &'ile(*.=-)
if(*>-) *=*/-;
else -=-/*;
return *;
%
using namespace std;
int main()
{ int a,b,c,d;
cin>>a>>b>>c>>d;
cout<<cmmdc(cmmdc(a,b),cmmdc(c,d));
%
+. Sa se afiseze in ordine descrescatoare numerele ce se termina in cifra c din intervalul [a,b]
dat.
Solutie:
#include<iostream>
using namespace std;
int main()
{
int a,b,c,i;
cout<<$a=$;cin>>a;
cout<<$b=$;cin>>b;
cout<<$c=$;cin>>c;
for(i=b;i>=a;i//)
{
if(i#10==c)
cout<<i<<$ $;
%
%
,. -ie n un numar natural citit de la tastatura. Sa se afiseze o"linditul acestuia.
Solutie:
#include <iostream>
using namespace std;
int main ()
{
int n,r,o;
cout <<$0fisare n1 $;
cin>>n;
o=0;
&'ile (n>0)
{ r=n#10;
n=n"10;
o=10)o+r;
%
cout<<$2glinditul numarului $<<n<<$ este $<<o;
return 0;
%
1.. Se citesc doi vectori cu componente numere naturale.-iecare vector are elementele sortate
crescator. Se cere sa se construiasca un al treilea vector care contine elementele celor doua
in ordine crescatoare.
Solutie:
#include<iostream('>
using namespace std;
int main()
{
int i,n,3,m,k;
float *4506,-4506,741006;
cout<<$8ati numarul de elemente ale +ectorului * $;cin>>n;
for(i=1;i<=n;i++)
{
cout<<$*49<<i<<:6= $;
cin>>*4i6;
%
cout<<$8ati numarul de elemente ale+ectoruluii - $;cin>>m;
for(3=1;3<=m;3++)
{
cout<<$-49<<3<<:6= $;
cin>>-436;
%
i=1;3=1;k=0;
&'ile( (i<=n) ;; (3<=m) )
if(*4i6<-436){k++;74k6=*4i6;i++;%
else {k++;74k6=-436;3++;%
if(i<=n) for(3=i;3<=n;3++) {k++;74k6=*436;%
else for(i=3;i<=m;i++) {k++;74k6=-4i6;%
cout<<endl<<$<ectorul 7 cu elementele interclasate este $;
for(i=1;i<=k;i++) cout<<74i6<<: :;
%