Sunteți pe pagina 1din 15

Prima cifră a unui număr

#include <iostream>
using namespace std;
//se declara variabila n de tip intreg
int n;
int main()
{
cout<<"Introduceti numarul n: ";
//se citeste numarul n
cin>>n;
//se taie pe rand cifrele lui n pana cand se ajunge la prima lui cifra
while(n>9)
{
n=n/10;
}
//se afiseaza prima cifra a lui n
cout<<"Prima cifra a lui n este "<<n;
}

Cea mai mare cifră a unui număr


#include <iostream>
using namespace std;
// se declara variabilele n si max de tip intreg
int n, max;
int main()
{
cout<<"Introduceti numarul n: ";
//se citeste numarul n
cin>>n;
//se initializeaza cea mai mare cifra cu prima cifra din numar
max=n%10;
//se parcurg cifrele lui n
while(n!=0)
{
//se verifica daca exista cifre mai mari in numar
if(n%10>max)
//daca exista atunci variabilei max i se atribuie acea cifra
max=n%10;
//se taie pe rand cifre din numarul initial pentru a continua parcurgerea
n=n/10;
}
//se afiseaza cifra cea mai mare a numarului n
cout<<"Cea mai mare cifra a numarului n este "<<max;
}

Cea mai mică cifră


#include <iostream>
using namespace std;
// se declara variabilele n, mini de tip intreg
// variabila n va memora numarul introdus de la tastatura
// variabila mini va memora cifra cea mai mica din numar
int n, mini;
int main()
{
cout<<"Introduceti numarul n: ";
//se citeste numarul n
cin>>n;
//se initializeaza mini cu prima cifra din numar
mini=n%10;
//se parcurg cifrele lui n
while(n!=0)
{
//se verifica daca exista cifre mai mici in numar
if(n%10<mini)
//daca exista atunci variabilei mini i se atribuie acea cifra
mini=n%10;
//se taie pe rand cifre din numarul initial pentru a continua parcurgerea
n=n/10;
}
//se afiseaza mini, adica cea mai mica cifra a numarului n
cout<<"Cea mai mica cifra a numarului n este "<<mini;
}

Numărul de cifre ale numărului


#include <iostream>
using namespace std;
// se declara variabilele n si nr de tip intreg
// variabila n va memora numarul introdus de la tastatura
// variabila nr va memora numarul de cifre ale lui n
int n, nr;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
// se verifica mai intai cazul in care numarul citit este 0
if (n == 0)
//daca numarul este 0 atunci lui nr i se atribuie 1 deoarece n are o singura cifra
nr = 1;
else
{
//cat timp n este diferit de 0 se numara si se taie pe rand cifrele acestuia
while (n)
{
nr++;
n = n / 10;
}

}
//se afiseaza numarul de cifre ale numarului n
cout << "Numarul n are " << nr << " cifre.";
return 0;
}

Suma cifrelor unui număr


#include <iostream>
using namespace std;
// se declara variabilele n si s de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila s memoreaza suma cifrelor lui n
int n, s=0;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
// se parcurg cifrele lui n
while (n != 0)
{
s = s + n % 10; // se insumeaza pe rand cifrele lui n
n = n / 10; // se taie pe rand cate o cifra din n
}
// se afiseaza s (suma cifrelor lui n)
cout << "Suma cifrelor lui n este: " << s;
return 0;
}

Suma cifrelor pare


#include <iostream>
using namespace std;
// se declara variabilele n si s de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila s memoreaza suma cifrelor pare ale lui n
int n, s;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
// se parcurg cifrele lui n
while (n != 0)
{
if(n%10%2==0) // se verifica daca cifra este para
s = s + n % 10; // se insumeaza pe rand cifrele pare ale lui n
n = n / 10; // se taie pe rand cifrele lui n
}
// se afiseaza s (suma cifrelor pare ale lui n)
cout << "Suma cifrelor pare ale lui n este: " << s;
return 0;
}

Suma cifrelor impare


#include <iostream>
using namespace std;
// se declara variabilele n si s de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila s memoreaza suma cifrelor impare ale lui n
int n, s;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
// se parcurg cifrele lui n
while (n != 0)
{
if(n%10%2==1) // se verifica daca cifra este impara
s = s + n % 10; // se insumeaza pe rand cifrele impare ale lui n
n = n / 10; // se taie pe rand cifrele lui n
}
// se afiseaza s (suma cifrelor impare ale lui n)
cout << "Suma cifrelor impare ale lui n este: " << s;
return 0;
}

Media aritmetica a cifrelor unui


numar C++
#include <iostream>
using namespace std;
// se declara variabilele n, nr si s de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila nr memoreaza numarul de cifre ale lui n
// variabila s memoreaza suma cifrelor lui n
int n, nr;
float s=0; //declarata de tipul float pentru a intoarce rezultate reale
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
// se parcurg cifrele lui n
while (n != 0)
{
s = s + n % 10; // se insumeaza pe rand cifrele lui n
nr++; // se numara pe rand cifrele lui n
n = n / 10; // se taie pe rand cifrele lui n
}
// se afiseaza media aritmetica a cifrelor lui n
if(nr>0)
cout << "Media aritmetica a cifrelor lui n este: " << s/nr;
return 0;
}
Produsul cifrelor unui numar C++
#include <iostream>
using namespace std;
// se declara variabilele n si p de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila p memoreaza produsul cifrelor lui n
int n, p;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
p=1; //p se initializeaza cu elementul neutru al inmultirii (altfel produsul cifrelor ar
fi mereu 0)
//se parcurg cifrele lui n
while (n != 0)
{
p = p * (n % 10); // se inmultesc pe rand cifrele lui n
n = n / 10; // se taie pe rand cifrele lui n
}
// se afiseaza p (produsul cifrelor lui n)
cout << "Produsul cifrelor lui n este: " << p;
return 0;
}

Produsul cifrelor pare ale unui


numar C++
#include <iostream>
using namespace std;
// se declara variabilele n si p de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila p memoreaza produsul cifrelor pare ale lui n
int n, p;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
p=1; // p se initializeaza cu elementul neutru al inmultirii (altfel produsul cifrelor
ar fi mereu 0)
//se parcurg cifrele lui n
while (n != 0)
{
if(n%10%2==0) // se testeaza daca cifra este para
p = p * (n % 10); //se inmultesc pe rand cifrele pare ale lui n
n = n / 10; // se taie pe rand cifrele lui n
}
// se afiseaza p (produsul cifrelor pare ale lui n)
if(p==1)
cout<<"Numarul introdus nu are cifre pare";
else
cout << "Produsul cifrelor pare ale lui n este: " << p;
return 0;
}

Produsul cifrelor impare ale unui


numar C++
#include <iostream>
using namespace std;
// se declara variabilele n si p de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila p memoreaza produsul cifrelor impare ale lui n
int n, p;
int main()
{
cout << "Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
int are_cifre_impare = 0;
p=1; // p se initializeaza cu elementul neutru al inmultirii (altfel produsul cifrelor
ar fi mereu 0)
//se parcurg cifrele lui n
while (n != 0)
{
if(n%10%2==1) { // se testeaza daca cifra este impara
p = p * (n % 10); //se inmultesc pe rand cifrele impare ale lui n
are_cifre_impare = 1;
}
n = n / 10; // se taie pe rand cifrele lui n
}
// se afiseaza p (produsul cifrelor impare ale lui n)
if (are_cifre_impare) {
cout << "Produsul cifrelor impare ale lui n este: " << p;
} else {
cout << "Numarul nu are cifre impare";
}

return 0;
}

Oglinditul unui numar C++


#include <iostream>
using namespace std;
// se declara variabilele n si ogl de tip intreg
// variabila n memoreaza numarul introdus de la tastatura
// variabila ogl memoreaza oglinditul / inversul numarului n
int n, ogl;
int main()
{
cout<<"Introduceti numarul n: ";
// se citeste numarul n
cin >> n;
// se construieste oglinditul / inversul lui n
while (n != 0)
{
ogl = ogl * 10 + n % 10; // se inverseaza cifra cu cifra numarul
n = n / 10; // se taie pe rand cifrele numarului
}
// se afiseaza oglinditul lui n
cout << "Oglinditul numarului 'n' este: "<< ogl;
return 0;
}

Eliminarea cifrelor pare dintr-un


numar C++
#include <iostream>
using namespace std;
// se declara variabila n,m si p de tip intreg
//variabila n memoreaza numarul introdus de la tastatura
//variabila m memoreaza numarul format prin eliminarea cifrelor pare ale lui n
//variabila p memoreaza o putere a lui 10 si ajuta la construirea numarului cerut
prin adaugarea fiecarei cifre impare pe pozitia corespunzatoare (unitati,zeci,sute
etc.)
int n,m,p;
int main()
{// se citeste numarul n
cout<<"Introduceti numarul n: ";
cin>>n;
//p se initializeaza cu elementul neutru al inmultirii
p=1;
//construim numarul m cu cifrele impare ale lui n, astfel m o sa reprezinte numarul
format prin eliminarea cifrelor pare
while(n>0)
{if(n%2==1)//se verifica daca cifra este impara
{m=(n%10)*p+m;// se adauga cifra pe pozitia corespunzatoare in numarul nou
format(unitati, zeci, sute etc.)
p=p*10;//se mareste puterea lui 10, pentru ca urmatoarea cifra impara sa fie
adaugata din nou pe pozitia corespunzatoare(zeci, sute, mii etc.)
}
n=n/10;//se elimina cifra din numar
}
//se verifica daca numarul n are cel putin o cifra impara
if(p==1) // daca p ramane egal cu 1 inseamna ca testul n%2==1 nu a fost trecut
pentru nicio cifra a lui n, deci numarul are numai cifre pare
cout<<"Numarul are numai cifre pare";
else
{// se afiseaza numarul m obtinut prin eliminarea cifrelor pare ale lui n, format
doar din cifre impare
cout<<"Prin eliminarea cifrelor pare ale lui n se obtine numarul: "<<m;
}
return 0;
}

Eliminarea cifrelor impare dintr-


un numar C++
#include <iostream>
using namespace std;
// se declara variabilele n, m si p de tip intreg
//variabila n memoreaza numarul introdus de la tastatura
//variabila m memoreaza numarul format prin eliminarea cifrelor impare ale lui n
//variabila p memoreaza o putere a lui 10 si ajuta la construirea numarului cerut
prin adaugarea fiecarei cifre pare pe pozitia corespunzatoare(unitati,zeci,sute etc.)
int n,m,p;
int main()
{// se citeste numarul n
cout<<"Introduceti numarul n: ";
cin>>n;
//p se initializeaza cu elementul neutru al inmultirii
p=1;
//construim numarul m cu cifrele pare ale lui n, astfel m o sa reprezinte numarul
format prin eliminarea cifrelor impare
while(n>0)
{
if(n%2==0)//se verifica daca cifra este para
{
m=(n%10)*p+m;// se adauga cifra pe pozitia corespunzatoare in numarul nou
format(unitati, zeci, sute etc.)
p=p*10;//se mareste puterea lui 10, pentru ca urmatoarea cifra para sa fie
adaugata din nou pe pozitia corespunzatoare(zeci, sute, mii etc.)
}
n=n/10;//se elimina cifra din numar
}

//se verifica daca numarul n are cel putin o cifra para


if(p==1)// daca p ramane egal cu 1 inseamna ca testul n%2==0 nu a fost trecut
pentru nicio cifra a lui n, deci numarul are numai cifre impare
{
cout<<"Numarul are numai cifre impare";
} else
{// se afiseaza numarul m obtinut prin eliminarea cifrelor impare ale lui n, format
doar din cifre pare
cout<<"Prin eliminarea cifrelor impare ale lui n se obtine numarul: "<<m;
}
return 0;
}
Inlocuirea primei cifre cu ultima
C++
#include <iostream>
using namespace std;
//se declara variabilele n,cn,ultima si p de tip intreg
//variabila n memoreaza numarul introdus de la tastatura
//variabila cn memoreaza numarul obtinut prin inlocuirea primei cifre cu ultima
//variabila ultima memoreaza ultima cifra a numarului n
//variabila p memoreaza o putere a lui 10 care indica ordinul pozitiei primei cifre in
numarul n (unitati, zeci, sute, etc.)
int n,cn,ultima,p;
int main()
{
cout<<"Introduceti numarul n: ";
//se citeste numarul n
cin>>n;
//se memoreaza ultima cifra
ultima=n%10;
//se initializeaza cn cu valoarea numarului n
cn=n;
//p se initializeaza cu valoarea elementului neutru la inmultire
p=1;
while(n>9)//eliminam cifre din numar pana cand n este egal cu prima sa cifra
{
p=p*10;//se mareste puterea lui 10 pana cand se ajunge la prima cifra a lui n

n=n/10;//se elimina o cifra din numar


}
// ultima*p- ultima cifra ia prima pozitie in noul numar
// +cn%p - se adauga cifrele de pe restul pozitiilor la numar
// /10)*10- se elimina ultima cifra din numar pentru a fi inlocuita cu prima
// +n- ultima cifra devine prima cifra memorata in n
cn=((ultima*p + cn%p)/10)*10+n;
//se afiseaza numarul obtinut
cout<<"Numarul format prin inlocuirea primei cifre cu ultima in numarul n este :
"<<cn;
return 0;
}
Cel mai mare divizor comun
(cmmdc) C++
#include <iostream>
using namespace std;
//se declara variabilele a si b de tip intreg
//variabila a memoreaza primul numar introdus de la tastatura
//variabila b memoreaza al doilea numar introdus de la tastatura
int a,b;
int main()
{
//se citesc numerele a si b
cout<<"Introduceti numerele a si b: "<<endl;
cin>>a>>b;
//se determina cel mai mic divizor comun prin scaderi repetate
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
//se afiseaza a (care memoreaza acum cmmdc-ul dintre cele 2 numere)
cout<<"Cmmdc = "<<a;
}

Cel mai mic multiplu comun


(cmmmc) C++
Codul de mai jos afla cel mai mare divizor comun (cmmdc) al celor doua numere
pentru ca mai apoi sa-l foloseasca pentru a determina cel mai mic multiplu comun
(cmmmc) folosind formula consacrata,
cmmmc = (a*b) / cmmdc.
#include <iostream>
using namespace std;
//se declara variabilele a,b,x,y de tip intreg
//variabilele a si b memoreaza cele 2 numere introduse de la tastatura
//variabilele x si y memoreaza copia numerelor a si b
int a,b,x,y;
int main()
{
// se citesc numerele a si b
cout<<"Introduceti numerele a si b: "<<endl;
cin>>a>>b;
// se copiaza numerele a si b in variabilele x si y
x=a;
y=b;
// se determina cmmdc-ul dintre a si b folosind variabilele x si y
while(x!=y)
{
if(x>y)
x=x-y;
else
y=y-x;
}
// in urma executarii instructiunii while cmmdc-ul este memorat acum in variabila
x
// se afiseaza cmmmc dintre cele doua numere folosind formula de determinare
acestuia cu ajutorul cmmdc
cout<<"cmmmc = "<<(a*b)/x;
}

Testul de numar prim C++


Codul afisat mai jos determina daca numarul are divizori proprii, pe care ii numara
folosind variabila nr. In final, daca numarul are divizori proprii, programul
afiseaza mesajul “Numarul nu este prim”, iar daca nr = 0 (numarul nu are divizori
proprii), afiseaza mesajul “Numarul este prim”.
Un numar este prim daca are doar divizori improprii (daca este divizibil doar cu 1 si
cu el insusi).
#include <iostream>
using namespace std;
//se declara variabilele n,d si i de tip intreg
//variabila n memoreaza numarul introdus de la tastatura
//variabila d este folosita pentru a determina divizorii proprii
//variabila nr numara divizorii proprii ai lui n
int n,d,nr;
int main()
{
// se citeste numarul n de la tastatura
cout<<"Introduceti numarul n: ";
cin>>n;
//se determina daca numarul are divizori proprii
for(d=2;d<=n/2;d++)
{//d este initalizat cu 2 (primul divizor propriu posibil)
//instructiunea merge pana la n/2 deoarece nu pot exista divizori proprii intre
n/2 si n
if(n%d==0) //conditia ca d sa fie divizor propriu al lui d
nr++;
}
if(nr==0)
cout<<"Numarul este prim";
else
cout<<"Numarul nu este prim";
return 0;
}

Descompunerea in factori primi


C++
#include <iostream>
using namespace std;
//se declara variabilele n,d,p de tip intreg
//variabila n memoreaza numarul citit de la tastatura
//variabila d este folosita pentru a identifica daca n are divizori proprii
//variabila p memoreaza puterea la care apare un factor prim
int n,d,p;
int main()
{
//se citeste de la tastatura numarul n
cout<<"Introduceti numarul n: ";
cin>>n;
//variabila d este initializata cu 2 (primul posibil divizor propriu)
d=2;
//se determina daca numarul n are divizori proprii
while(n>1)
{
p=0;//p este initializat cu 0, pentru ca de fiecare data cand se reia instructiunea
while sa se poata determina puterea la care apare factorul prim
//se verifica daca numarul n se imparte de mai multe ori la numarul d
while(n%d==0)
{
p++; //se contorizeaza puterea la care apare factorul prim in descompunere
n=n/d; //se imparte n la d pentru a se putea continua impartirea si
identificarea puterii
}
//daca numarul d se imparte macar o data la n se afiseaza d, alaturi de puterea
la care apare in descompunere
//daca p este 0 inseamna ca numarul d nu se imparte deloc la n
if(p>0)
cout<<d<<"^"<<p<<" ";
d=d+1; //creste d, pentru a putea identifica si alti factori primi ai descompunerii
}
}

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