👤
a fost răspuns

Fie șirul 1, 2, 3, 4, 5, 6, 7, ..., n, ... care îndeplinește regula de mai jos:



1 face parte din mulțimea numerotată cu 1.

2, 3 fac parte din mulțimea numerotată cu 2.

4, 5, 6 fac parte din mulțimea numerotată cu 3.

7, 8, 9, 10 fac parte din mulțimea numerotată cu 4



Iar n face parte din mulțimea numerotată cu m.

Cerința

Știind numarul n, să se afle m.

Date de intrare

Programul citește de la tastatură n.

Date de ieșire

Programul va afișa pe ecran numărul m, reprezentând numărul mulțimii din care face parte n.

Restricții și precizărin, m sunt numere naturale1 ≤ n, m ≤ 2*10^9+1


Răspuns :

Am atasat 2 imagini cu explacitiile si 2 notepaduri cu codurile.

Rezolvare 1 - folosind formula matematica:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   long long n, delta, rasp;

   cin >> n;

   delta = 1 + 8 * (n - 1);

   rasp = (1 + sqrt(delta)) / 2;

   cout << rasp;

   return 0;

}

Rezolvare 2 - folosind dinamica:

#include <iostream>

using namespace std;

int main()

{

   long long n, c = 1;

   cin >> n;

   while (n - c > 0) n -= c, ++c;

   cout << c;

   return 0;

}

Vezi imaginea Аноним
Vezi imaginea Аноним
Vezi imaginea Аноним
Vezi imaginea Аноним