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

Se dă de la tastatură un număr natural format din trei cifre. Se cere să se afişeze suma cifrelor şi cifra cea mai mica, dacă numărul este par, respective produsul cifrelor şi cifra cea mai mare în cazul când numărul este impar. Exemplu: pentru numărul 253 se va afişa 30 şi 5, iar pentru numărul 524 se va afişa 11 şi 2.

Răspunsuri la întrebare

Răspuns de Konstei
2

#include <iostream>

using namespace std;

int main() {

   int n;

   cin >> n;

   if (n%2 == 0) {

       int Min=9, s=0;

       while (n != 0) {

           s = s + n%10;

           if (n%10 < Min) {

               Min = n%10;

           }

           n /= 10;

       }

       cout << s << "\n" << Min;

   } else {

       int Max=0, p=1;

       while (n != 0) {

           p = p * n%10;

           if (n%10 > Max) {

               Max = n%10;

           }

           n /= 10;

       }

       cout << p << "\n" << Max;

   }

   return 0;

}


GreenTea: mulțumesc mult! am sa îți dau coronița când o sa îmi apăra iconița. dar atunci când introduc numărul 253 se afișează 0 și 5 in loc de 30 și 5. crezi ca poți rezolva?
Konstei: o sa incerc
Konstei: gata, l-am refacut si l-am imbunatatit ca sa arate mai bine:

#include
using namespace std;

int n, Min=9, s, Max, p=1;

int main() {
cin >> n;
if (n%2 == 0) {
while (n != 0) {
s = s + n%10;
if (n%10 < Min) Min = n%10;
n /= 10;
}
cout << s << "\n" << Min;
} else {
while (n != 0) {
p = p * (n%10);
if (n%10 > Max) Max = n%10;
n /= 10;
}
cout << p << "\n" << Max;
}
return 0;
}
Alte întrebări interesante