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

#2662 construirenumarcucifrelemaxime
Cerința
Se dau n numere naturale. Se construiește o valoare selectând de la fiecare număr cifra maximă. Determinați pătratul acestei valori.

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
Programul va afișa pe ecran valoarea cerută.

Restricții și precizări
2 ≤ n ≤ 9
cele n numere citite vor fi mai mici decât 1.000.000.000.000.000.000



Exemplu
Intrare

2
132 29
Ieșire

1521
Explicație
39 * 39 = 1521.

Conditia aceasta ma deruteaza "cele n numere citite vor fi mai mici decât 1.000.000.000.000.000.000", problema e simpla dar nu inteleg de ce imi da 0%
si merge pentru orice nr intreg
As vrea sa fie de 100%, :D


boiustef: aici tr sa folosesti tipul long long
boiustef: era bn sa vedem codul...

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

using namespace std;

int main()

{

   int n, i, cif, cifmax;

   long long num, rez=0;

   cin >> n;

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

   {

       cin >> num;

       cifmax=0;

       while (num)

       {

           cif=num%10;

           if (cif>cifmax) cifmax=cif;

           num/=10;

       }

       rez=rez*10+cifmax;

   }

   rez*=rez;

   cout << rez;

   return 0;

}


boiustef: e posibil si nu de folosit vector...
pmarian98: te pricepi
pmarian98: ai idei simple
pmarian98: si bune
boiustef: ce facem cu vectorul ? reeditam codul ?
boiustef: am evitat folosirea vectorului ....
boiustef: observi, ca am reditat codul ?
boiustef: reeditat...
boiustef: salut... am luat acum 60 la 2323, 4 cu depasire timp ..
Alte întrebări interesante