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

VerifProgresie

Cerința
Se dau n valori naturale. Stabiliți dacă există o progresie aritmetică cu rația număr natural mai mare decât 1 din care să facă parte toate aceste 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 mesajul DA , dacă există progresia aritmetică cerută, respectiv NU în caz contrar.

Restricții și precizări
1 ≤ n ≤ 2500
cele n numere citite vor fi mai mici decât 2.000.000.000

P.S: In c++, multumesc mult !


boiustef: mmm, 90am luat...

Răspunsuri la întrebare

Răspuns de carat033
1

#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

int n, num, v[2500], r;

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

for (int i = 0; i < n; i++)

{

 cin >> num;

 v[i] = num;

}

sort(v, v + n);

r = v[1] - v[0];

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

{

 if (v[i] - v[i - 1] != r)

 {

  cout << "Nu" << endl;

  return 0;

 }

}

cout << "Da" << endl;

return 0;

}


boiustef: Carat, testează codul pe pbinfo, problema #1573 VerifProgresie....
boiustef: codul tău nu e corect...
Alte întrebări interesante