Informatică, întrebare adresată de dariusaxl, 9 ani în urmă

sa se determine al n-lea termen al sirului:
1,1,2,1,2,3,1,2,3,4,1,2,3,4,5...
fara a folosi tipuri structurale de date.
ex: Al 55-lea termen al sirului este 10.

Răspunsuri la întrebare

Răspuns de Razzvy
6
#include <iostream>
#include <cmath>
using namespace std;

/*Numarul de elemente ale sirului se poate calcula dupa formula sumei lui Gauss n(n + 1) / 2, daca sirul este sub foma:
1, 1,2, 1,2,3, ,..., 1,2,3,...,n
Daca numarul de elemente este exact, atunci n(n + 1) / 2 = x, iar de aici, vom afla ca n = (sqrt(8x + 1) - 1) / 2 (ecuatie de gradul al II-lea, iar elementul negativ nu-l luam in considerare)
Daca x este mai mare, atunci vom face diferenta*/

int main()
{
   int x, n, s;
   cin>>x;
   n = (sqrt(8 * x + 1) - 1) / 2;
   s = n * (n + 1) / 2;
   if(s == x) cout<<n;
   else cout<<x - s;
}

dariusaxl: nu mi-a dat cand am verificat-o
Razzvy: Uitasem sa pun citirea. Incearca acum.
dariusaxl: da, acum e bine. Mersi mult
Alte întrebări interesante