Informatică, întrebare adresată de george91florin, 8 ani în urmă

Sa citeste de la tastatura un numar natural n.Sa se calculeze suma si produsul cifrelor lui n si numarul de cifre pare ale lui n. Exemplu: n = 372, se va afisa: suma cifrelor = 12 produsul cifrelor = 42 n are 1 cifra para

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int main()

{

 int n, s = 0, p = 1, cnt = 0;

 cin >> n;

 if (n == 0)

 {

   p = 0;

 }

 while (n)

 {

   int c = n % 10;

   s += c;

   p *= c;

   if (c % 2 == 0)

   {

     cnt++;

   }

   n /= 10;

 }

 cout << "suma cifrelor: " << s << '\n' << "produsul cifrelor: " << p << '\n' << "cifre pare: " << cnt;

 return 0;

}

  • Ti-am atasat si fisierul mai jos
Anexe:

danboghiu66: Cred ca va fi o problrma daca n=0. Pentru ca p=1....
Sergetec: Buna observatie, am dat edit
andrei750238: Si numarul de cifre pare ar trebui sa fie 1 in cazul n=0
danboghiu66: Corect
Răspuns de andrei750238
2

#include <iostream>

using namespace std;

int main() {

//Declarare variabile

int n, pare=0, suma=0, prod=1;

cout << "Introduceti n : ";

cin >> n;

//Caz special pentru 0

if (n == 0) {

 pare = 1;

 prod = 0;

}

//Caz general

while (n != 0) {

 //Determina ultima cifra

 int cifra = n % 10;

 //Calculeaza suma, prod si incrementeaza numarul de cifre pare daca e cazul

 suma = suma + cifra;

 prod = prod * cifra;

 if (cifra % 2 == 0) pare++;

 //Stergem ultima cifra a numarului

 n = n / 10;

}

cout << "\nsuma cifrelor = " << suma;

cout << "\nprodusul cifrelor = " << prod;

cout << "\nn are " << pare << " cifre pare";

}

► Explicatie :

  • Expresie pentru determinarea ultimei cifre a lui n : n%10
  • Expresie pentru a verifica daca un numar e par : n%2==0
  • Instructiune pentru stergerea ultimei cifre a lui n : n=n/10
Anexe:
Alte întrebări interesante