Cod sursa(job #1918808)

Utilizator Alexandru_StoianStoian Sorin Alexandru Alexandru_Stoian Data 9 martie 2017 16:57:42
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <cmath>
#define maxv 1000005
#include <algorithm>

using namespace std;

ifstream f ("ssnd.in");
ofstream g ("ssnd.out");

int n, i, v[ 1001 ], d, k, x, a, s;
int main() {
    f >> n;
    for( i = 1; i <= n; ++i )
        f >> v[ i ];
    for( i = 1; i <= n; ++i ){
        k = 0;
        x = v[ i ];
        a = int ( sqrt ( x ) );
        s = 0;
        for ( d = 1; d * d <= x; ++d )
            if ( x % d == 0 ){
                    s = s + d + x / d;
                    k = k + 2;
            }
        if( a * a == x ){
                s = s - a;
                --k;
        }
        g << k << ' ' << s << '\n';
    }
    return 0;
}