Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main(){
int x;
cin>>x;
//1.Calculul produsului cifrelor unui nr
int cx=x; // facem o copie a nr-ului x pt a nu-l pierde
int p=1;
while(cx!=0){
int uc=cx%10; //aici luam ultima cifra din numarul cx, unde cx=copia lui x
p=p*uc; /*aici calculam produsul cifrelor(fiecare cifra se adauga la produs, initializat la inceput de tot si o singura data cu 1 */
cx=cx/10; // taiam ultima cifra pt a o adauga pe urmatoarea
}
cout<<"Produsul cifrelor numarului"<< x<<"este "<<p;
cout<<endl;
//2. suma cifrelor pare
int c2x=x; // facem din nou o copie a nr-ului x pt a nu-l pierde
int s=0;
while(c2x!=0){
int uc=c2x%10; //aici luam ultima cifra din numarul c2x, unde c2x=copia lui x
if(uc%2==0)//daca cifra uc este para, adica cifra este divizibila cu 2
{s=s+uc;} /*aici calculam suma cifrelor doar dc.conditia e indeplinita(fiecare cifra se adauga la suma, initializat la inceput de tot si o singura data cu 0 */
c2x=c2x/10; // taiam ultima cifra pt a o adauga pe urmatoarea
}
cout<<"Suma cifrelor pare ale numarului<< x<<"este "<<p<<endl;
//3.produsul cifrelor mai mari ca 5
/*Ca si in primul caz vom calcula produsul cifrelor unui numar, dar de data aceasta doar daca este indeplinita o conditie */
int c3x=x; // facem o copie a nr-ului x pt a nu-l pierde
int p2=1;
while(c3x!=0){
int uc=c3x%10; //aici luam ultima cifra din numarul c3x, unde c3x=copia lui x
if(uc>5)// verificam daca cifra e mai mare decat 5
{p2=p2*uc;} /*aici calculam produsul cifrelor care verifica conditia de mai sus, in caz contrar trecem la urmatorul pas, adica taiam cifre in continuare */
c3x=c3x/10; // taiam ultima cifra pt a o adauga pe urmatoarea
}
cout<<"Produsul cifrelor mai mari decat 5 ale numarului"<< x<<"este "<<p2<<endl;
//4.numarul cifrelor impare si divizibile cu 3
/*pt aceasta vom avea nevoie de o variabila in care sa numaram si pe care o initalizam cu 0 la inceput */
int ct=0; //ct este un contor care va creste daca conditiile vor fi indeplinite
int c4x=x;
while(c4x) // expresie echivalenta cu while(c4x!=0)
{ int uc=c4x%10;
if( uc%2==1 && uc%3==0) /* daca restul impartirii lui 2 la uc e 1 inseamna ca cifra e impara, iar daca restul impartirii lui uc la 3 e 0 => cifra e divizibila cu 3 */
{ct++;} //crestem contorul cu 1 dc conditiile sunt indeplinite
c4x=c4x/10; // taiam ultima cifra pt a o verifica pe urmatoarea
}
cout<<"Numarul cifrelor impare si divizbile cu 3 ale numarului"<< x<<"este "<<ct<<endl;
return 0;
}
Explicație: