Documente Academic
Documente Profesional
Documente Cultură
2022
#include <iostream>
//1. Funcție care întoarce primele două cifre. Citiți un vector și afișați toate numerele de două cifre
din vector.
int prim2(int x) {
int s;
s=x;
while(s>=99)
s=s/10;
return s;
int main()
int n, v[1000], i;
cin>>n;
for(i=0;i<n;i++) {
cin>>v[i];
cout<<v[i]<<" ";
return 0;
}
#include <iostream>
//2. Funcție care întoarce suma cifrelor unui întreg. Citiți un întreg și afișați cifra de control (adunăm
cifrele până obținem un număr de o cifră. Ex: 773453479, adunăm cifrele și obținem 49, apoi
obținem 13, apoi 4).
int suma(int x) {
int s=0;
while(x>9) {
s=0;
while (x>0) {
s=s+x%10;
x=x/10;
x=s;
return x;
int main()
int n;
cin>>n;
cout<<suma(n);
return 0;
}
#include <iostream>
//3. Funcție care întoarce numărul de cifre a unui număr. Încă o funcție care întoarce numărul de
cifre pare a unui număr. Citiți un vector de n întregi și afișați suma elementelor care au numai cifre
pare. (Se vor folosi cele 2 funcții!)
int nrc(int x) {
int nrc=0, s;
s=x;
while(s!=0) {
nrc++;
s=s/10;
return nrc;
int nrp(int x) {
int nrp=0, s;
s=x;
while(s!=0) {
if(s%2==0)
nrp++;
s=s/10;
return nrp;
int main()
for(i=0;i<n;i++) {
cin>>v[i];
if(nrc(v[i])==nrp(v[i]))
s=s+v[i];
cout<<s;
return 0;
#include <iostream>
//4. Funcție care întoarce numărul de divizori ai unui întreg. În main, citiți un vector și afișați
numerele pătrate perfecte cu ajutorul funcției.
int nrdiv(int x) {
for(div=1;div<=x;div++) {
if(x%div==0)
nrdiv++;
return nrdiv;
int main()
int n, v[1000], i;
cin>>n;
for(i=0;i<n;i++) {
cin>>v[i];
if(nrdiv(v[i])%2!=0)
cout<<v[i]<<" ";
return 0;
#include <iostream>
//5. Funcție care întoarce 1 dacă un număr este putere a lui 2 și 0 contrar. Citiți doi întregi a și b, cu
a<b . Afișați puterile lui 2 din mulțimea a…b.
int putere(int x) {
int s;
s=x;
while(s%2==0)
s=s/2;
if(s==1)
return 1;
else
return 0;
int main()
int a, b, i;
cin>>a>>b;
for(i=a;i<=b;i++) {
if(putere(i)==1)
cout<<i<<" ";
return 0;
#include <iostream>
//6. Funcție care întoarce suma divizorilor. Citiți o matrice n*n și afișați toate numerele perfecte de
pe dp.
int suma(int x) {
for(div=1;div<x;div++) {
if(x%div==0)
s=s+div;
return s;
int main()
int n, a[101][101], i, j;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++) {
cin>>a[i][j];
if(suma(a[i][j])==a[i][j] && i==j)
cout<<a[i][j];
return 0;
#include <iostream>
//7. Funcție care primește un întreg și o cifră. Ea întoarce de câte ori apare cifra în număr. Citiți un
vector de n întregi și afișați toate elementele care au aceeași cifră în componență.
while(x!=0) {
if(x%10==y)
return 1;
x=x/10;
int main()
int n, v[1000], i, y;
cin>>n>>y;
for(i=0;i<n;i++) {
cin>>v[i];
if(cifra(v[i], y)==1)
cout<<v[i]<<" ";
}
return 0;