# PBinfo #387 – suma-divizorilor-impari – Rezolvare C++

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

## Enunț

Cerinţa
Se citește un număr natural n. Să se determine suma divizorilor impari ai săi.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran numărul S, reprezentând suma divizorilor impari ai lui n.

Restricţii şi precizări

0 < n < 1.000.000.000

Exemplu:
Intrare

30
Ieșire

24
Explicație
Divizorii impari lui 30 sunt 1, 3, 5 și 15. Suma lor este 24.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, d;
    long long S = 0;
    cin >> n;
    for (d = 1; d * d < n; d++)
        if (n % d == 0) {
            if (d % 2 == 1) S = S + d;
            if (n / d % 2 == 1) S = S + n / d;
        }
    if (d * d == n) if (d % 2 == 1) S = S + d;
    cout << S;
    return 0;
}
```

## Resurse

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