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
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;
}
#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
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba rusă,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă