# PBinfo #2015 – SumaGauss1 – Rezolvare C++

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

## Enunț

Cerința
Cei n copii din clasa a V-a şi-au ales câte un număr natural dintre numerele de la 1 la n, neavând doi copii acelaşi număr. Fiecare copil a calculat suma numerelor naturale mai mici sau egale cu numărul ales, apoi doamna de mate a calculat suma pătratelor rezultatelor obţinute de copii. Voi trebuie să aflaţi rezultatul obţinut de doamna de mate.

Date de intrare
Fișierul de intrare sumagauss1.in conține pe prima linie numărul n de copii din clasă.

Date de ieșire
Fișierul de ieșire sumagauss1.out va conține pe prima linie rezultatul obţinut de doamna de mate.

Restricții și precizări

1 ≤ n ≤ 500.000.000

Exemplu:
sumagauss1.in

3
sumagauss1.out

46
Explicație
Numerele calculate de copii sunt 1, 3, 6. Numărul calculat de doamna de mate este 46.

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream f("sumagauss1.in");
ofstream g("sumagauss1.out");
long long a,b,c,d,n,i,t,q,v[1000],k;
void produs(long long x)
{
    t = 0 ;
    for ( i=1 ; i<=k ; i++ )
    {
        q = v[i] * x + t ;
        v[i] = q % 10 ;
        t = q / 10 ;
    }
    while ( t!=0 )
    {
        k++ ;
        v[k] = t % 10 ;
        t = t / 10 ;
    }
}
int main()
{
    f >> n ;
    a = n ;
    b = n+1 ;
    c = n+2 ;
    d = 3*n*n+6*n+1 ;
    if ( a%2==0 ) a = a / 2 ;
    else b = b / 2 ;
    if ( c%2==0 ) c = c / 2 ;
    else d = d / 2 ;
    if ( a%3==0 ) a = a / 3 ;
    else if ( b%3==0 ) b = b / 3 ;
         else c = c / 3 ;
    if ( a%5==0 ) a = a / 5 ;
    else if ( b%5==0 ) b = b / 5 ;
         else if ( c%5==0 ) c = c / 5 ;
              else d = d / 5 ;
    v[1] = 1 ;
    k = 1 ;
    produs(a) ;
    produs(b) ;
    produs(c) ;
    produs(d) ;
    for ( i=k ; i>=1 ; i-- ) g << v[i] ;
    return 0;
}
```

## Resurse

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