Informatică, întrebare adresată de Dannyaa, 8 ani în urmă

Se citește un număr natural n. Să se determine suma divizorilor 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 lui n.
Restricţii şi precizări

0 < n ≤ 1.000.000.000


Exemplu

Intrare

6

Ieșire

12

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
0
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    long long n,S = 0;
    cin >> n;
    if (n == 1)
    {
        cout << 1;
        return 0;
    }
    for (int i = 1; i * i <= n ;++i)
       if (n % i == 0)
        S = S + i + n / i;
    if (sqrt(n) == (int)sqrt(n))
        S = S - sqrt(n);
    cout << S;
    return 0;
}
Răspuns de Utilizator anonim
0
#include <iostream>using namespace std;long long s,d,x;int main(){    s=0; cin>>x;    for(d=1;d*d<=x;d++)        if(x%d==0)          if(d==x/d)                s=s+d;          else                s=s+d+x/d;    cout<<s;    return 0;}
Alte întrebări interesante