Hidden Number


Rezolvarea problemei  Hidden Number de pe site pbinfo cu explicatii:

Cerința

Se citesc din fișier numere naturale. Determinați un număr x astfel încât dacă scădem din x pe rând fiecare număr citit atunci suma diferențelor să fie 0. Se va afișa numărul determinat sau -1, dacă un astfel de număr nu există.

Date de intrare

Fișierul de intrare `hidden_number.in` conține pe prima linie șirul de numere naturale separate prin spații.

Date de ieșire

Fișierul de ieșire `hidden_number.out` va conține pe prima linie numărul x sau -1 conform cerinței.

Restricții și precizări

  • numerele vor fi mai mici decât 1.000.000
  • numărul de numere citite este maximum 1.000

Problema care trebuie avuta in vedere este ca se citesc pe rand numere din fisierul de intrare si daca citirea se face cu `while(!cin.eof())’ se citeste la final o valoare nula care afecteza numarul de valori citite din fisier (deci care este numarata).

Codul programului ar fi:

#include <fstream>

using namespace std;
ifstream cin("hidden_number.in");
ofstream cout("hidden_number.out");

int nr, c = 0, suma = 0;
int main()
{
    while(cin >> nr){
        c++;
        suma += nr;
    }
    if (suma % c == 0)
    {
        cout << suma/c;
    }else{
        cout << -1;
    }
    
    
    cin.close();cout.close();
    return 0;
}

Incearca sa rezolvi si tu si vezi daca obtii rezultatele corecte!

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare /  Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare /  Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare /  Schimbă )

Conectare la %s

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.