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

Citim n nr naturale si afisam min nr cu sum cif max C++


boiustef: poate dai un enunţ mai detaliat? Să cred că se cere de aflat numărul cu cea mai mare sumă a cifrelor, şi dacă de acestea sunt mai multe, atunci să se afişeze cel mai mic din ele?

Răspunsuri la întrebare

Răspuns de anamariaany45p9ya3w
0

Răspuns:

Explicație:

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

int n, s, x, cx, max = 0, i, min;

cin >> n;

for (i = 1; i <= n; i++)

{

 cin >> x;

 cx = x;

 s = 0;

 while (cx != 0)

 {

  s = s + cx % 10;

  cx /= 10;

 }

 if (s == max)

  min = x;

 if (s > max)

  max = s;

}

cout << min;

cin >> n;

return 0;

}

Răspuns de boiustef
0

Răspuns:

#include <iostream>

using namespace std;

int n, num, copie, sumacif, minim, maxim, i;

int main()

{

   cout << "n= "; cin >> n;

   cout << "Introdu " << n << " numere separate prin spatiu" << endl;

   cin >> num;

   minim=num;

   while (num)

   {

       maxim+=num%10;

       num/=10;

   }

   for (i=1; i<n; ++i)

   {

       cin >> num;

       copie=num;

       sumacif=0;

       while (num > 0)

       {

           sumacif+=num%10;

           num/=10;

       }

       if (sumacif>maxim)

       {

           maxim=sumacif;

           minim=copie;

       }

       else

       {

           if (sumacif==maxim)

           {

               if (copie<minim) minim=copie;

           }

       }

   }

   cout << minim;

   return 0;

}

Explicație:

Dacă n=5 şi se introduc numerele 234 18 37 235 64, atunci se va afişa 37 care are suma cidrelor maximă egală cu 10. Mai sunt încă două numere cu suma cifrelor 10, dar  37 este cel mai mic dintre ele

Alte întrebări interesante