Cod sursa(job #1598557)

Utilizator mihai.groapaGroapa Mihai mihai.groapa Data 12 februarie 2016 23:46:55
Problema Sum Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <vector>

int div(int X)
{
    std::vector<int> divizori;
    int sum = 1, p = 0;
    bool pass = false;

    if(X % 2 == 0)
        p = 1;

    for(int i = 2 + p; i <= X / 2; i = i + p + 1)
        if(X % i == 0)
            divizori.push_back(i);

    for(int Y = 2 + p; Y < 2 * X; Y = Y + p + 1)
    {
        pass = false;
        for(unsigned int j = 0; j < divizori.size(); j++)
            if(Y % divizori[j] == 0)
            {
                j = divizori.size() - 1;
                pass = true;
            }
        if(pass == false && Y!=X)
            sum += Y;
    }

    return sum;
}

int main()
{
    std::ifstream in("sum.in");
    std::ofstream out("sum.out");

    int N, X;
    in>>N;

    for(int i = 0; i < N; i++)
    {
        in>>X;
        out<<div(X)<<std::endl;
    }

    return 0;
}