fbpx

Problema #1582 – max_min – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se citesc de la tastatură n numere naturale. Să se determine numărul a cărui sumă a cifrelor este cea mai mare, respectiv cea mai mică.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Minimul va fi afișat pe primul rând și maximul pe al doilea rând.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite sunt mai mici decât 2.000.000.000
  • dacă exista mai multe numere cu aceeași suma minima/maxima se va afișa primul găsit

Exemplu

Intrare

5 145 225 198 326 874

Ieșire

225
874

Explicație

145 -> 1+4+5=10
225 -> 2+2+5=9 (minimul)
198 -> 1+9+8=18
326 -> 3+2+6=11
874 -> 8+7+4=19 (maximul)

#include <bits/stdc++.h>
using namespace std;

int main ()
{
    int n,tmp,s=0;
    int max=0,min=100,smin=100,smax=0;
    int a;
    cin >> n;
    for (int i=1; i <= n; ++i)
    {
        cin >> tmp;
        a=tmp;
        while (tmp)
        {
            s+=tmp%10;
            tmp/=10;
        }
        if (s>smax)
            smax = s ,max = a;
        if (s<smin)
            smin = s ,min = a;
        s=0;
    }
    cout << min << endl << max;
    return 0;
}
Comentarii

S-ar putea sa iti placa