# PBinfo #3807 – SumeGaussDeSumeGauss – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Se dau n numere naturale. Pentru fiecare numar x, calculati 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...x).

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 cele n sume calculate.

Restricții și precizări

1 ≤ n ≤ 1.000.000
cele n numere citite vor fi mai mici decât 4.000.000

Exemplu:
Intrare

5
5 3 2 10 7
Ieșire

35 10 4 220 84

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
unsigned long long int n, temp;
int main() {
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> temp;
        unsigned long long int val = temp / 2;
        int a = val, b = val + 1, c = 2 * val + 1;
        bool adv = false;
        if (a % 3 == 0) {
            a = a / 3;
            adv = true;
        } if (b % 3 == 0 && adv == false) {
            b = b / 3;
            adv = true;
        } if (c % 3 == 0 && adv == false) {
            c = c / 3;
            adv = true;
        } cout << (unsigned long long int) 2 * a * b * c + (temp * (temp + 1) / 2) * (temp % 2) << " ";
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3807)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3807/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3807/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
