Sunteți pe pagina 1din 5

1)

Se citeste un numar natural n cu cel mult 9 cifre.


Sa se calculeze numarul obtinut din cifrele lui pare aflate pe pozitii impare, n
umararea pozitiilor cifrelor incepand cu cifra cea mai semnificativa.
Ex: daca n=2346561 rezulta 24
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{ long n,r=0;
f>>n;
while(n)
{ r=r*10+n%10;
n=n/10;
}
while(r)
{ if(r%2==0) n=n*10+r%10;
r=r/100;
}
g<<n;
f.close();
g.close();
return 0;
}
2)
Se citesc 2 vectori A si B cu n si respectiv m elemente numere intregi.
Elementele vectorilor sunt ordonate crescator.
Sa se construiasca un vector C care sa contina elementele din A si B ordonate cr
escator.
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int a[10],n,b[10],m,c[20],p;
int main()
{ int i,j,k;
f>>n;
for(i=1;i<=n;i++) cin>>a[i];
f>>m;
for(i=1;i<=m;i++) f>>b[i];
i=j=k=1;
while(i<=n && j<=m)
if(a[i]<b[j]) c[k++]=a[i++];
else c[k++]=b[j++];
while(i<=n) c[k++]=a[i++];
while(j<=m) c[k++]=b[j++];
for(i=1;i<=n+m;i++) g<<c[i]<<" ";
f.close();
g.close();
return 0;
}
3)
Se citeste un numar natural de maxim 9 cifre. Sa se afiseze cea mai mare si cea
mai mica cifra din numar.
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{ int c,min=10,max=0;
long n;
f>>n;
while(n)
{c=n%10;
if(c>max) max=c;
else if(c<min) min=c;
n=n/10;
}
g<<min<<" "<<max;
return 0;
4)
Se citeste un numar natural cu cel mult 4 cifre.
Sa se calculeze cel mai mic multiplu par al numarului obtinut din prima si ultim
a cifra a numarului citit.
Ex. pentru 1265 se obtine 30 (2*15)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{
int n,p,u;
f>>n;
u=n%10;
while(n>9) n=n/10;
p=n;
g<<(p*10+u)*2;}
f.close();
g.close();
return 0;
}
5)
Se citeste un numar natural n de maxim 9 cifre.
Sa se determine daca el are toate cifrele ordonate strict descrescator de la cif
ra cea mai semnificativa spre cifra unitatilor.
Ex: Pentru 54321 se va afisa DA, iar pentru 543234 se va afisa NU.
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{long n;
int c,d,p=1;
d=0;
f>>n;
while(n)
{c=n%10;
if(c<d) p=0;
n=n/10;
d=c;
}
if(p==1) g<<"da";
else g<<"nu";
f.close();
g.close();
return 0;
}
6)
Se citeste un numar natural cu cel mult 9 cifre.
Sa se determine de cate ori apare ultima cifra in numarul citit.
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{ long n,k=0,c;
f>>n;
c=n%10;
while(n)
{ if(n%10==c) k++;
n=n/10;
}
g<<k;
f.close();
g.close();
return 0;
}
7)
Se citeste un numar natural n cu cel mult 9 cifre.
Sa se determine cea mai mare cifra a lui n si de cate ori apare ea in n.
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{
int n,k=0,cmax=0;
f>>n;
while(n>0)
{
if(n%10>cmax) { cmax=n%10; k=1; }
else if(n%10==cmax) k++;
n=n/10;
}
g<<cmax<<" "<<k;
f.close();
g.close();
return 0;
}
8)
Se considera urmatorul sir de numere: 1, 1, 2, 2, 1, 2, 3, 3, 3, 1, 2, 3, 4, 4,
4, 4, ... .
Pentru un numar natural n de maxim 4 cifre sa se scrie un program eficient ca ti
mp de executie si utilizare a memoriei care sa determine elementul de pe pozitia
n din sirul definit mai sus.
#include<iostream>
#include<math.h>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{ int n,k;
f>>n;
k=sqrt(n);
if(k*k==n) g<<k;
else if(n-k*k<=k+1) g<<n-k*k;
else g<<k+1;
f.close();
g.close();
return 0;
}
9)
Se citeste un numar natural n de maxim 4 cifre.
Sa se calculeze si sa se afiseze termenii din sirul lui Fibonacci care sunt mai
mici decat n.
#include<iostream.h>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{ int x,y,z,n;
f>>n;
x=1;y=1;g<<"1 1 ";
while(x+y<n)
{
z=x+y;
g<<z<<" ";
x=y;
y=z;
}
f.close();
g.close();
return 0;
}
10)
Se citesc n numere naturale. Sa se afiseze ce mai mare numar prim si de cate ori
apare el.
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("tema.in");
ofstream g("tema.out");
int main()
{int n,x,ok,max=0, nrap,i,d;
f>>n;
for(i=1;i<=n;i++)
{
f>>x;
ok=1;
if(x==0 || x==1) ok=0;
else for(d=2;d<=x/2;d++) if(x%d==0) ok=0;
if(ok)
if(x>max) { max=x;
nrap=1;
}
else if(x==max) nrap++;
}
g<<max<<" "<<nrap;
break;
f.close();
g.close();
return 0;
}

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