Cod sursa(job #1472794)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 17 august 2015 19:35:55
Problema Sum Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <fstream>
#include <cstring>
#include <iostream>
#include <cmath>

using namespace std;

ifstream fin("sum.in");
ofstream fout("sum.out");

bool a[100005];

int prime[15005],kk,n;

void GenCiur()
{
    int i, j;
    int n=100005;

    for (i=3; i*i<=n; i=i+2)
    {
        for (j=i*i; j<=n; j=j+2*i)
          {
              a[j]=1;
          }
    }


    kk=0;

    prime[++kk]=2;

    for (i=3; i<=n; i=i+2)
        if (a[i]==0) prime[++kk]=i;

}

void Rezolva()
{
    int i,x,aux,ok,j,prim;
    long long int suma;
    double radical;
    fin>>n;

    for (int cnt=1; cnt<=n; cnt++)
    {
        fin>>x;
        radical=sqrt(2*x);
        suma=1;
        for (i=2; i<2*x; i++)
        {
          if (i!=x)
          {
            aux=i;
            ok=0;
            for (j=1; prime[j]<=radical && ok==0; j++)
            {
                prim=prime[j];
                if (aux%prim == 0 && x%prim == 0)
                    ok=1;
            }

            if (ok==0)
                suma+=aux;
          }
        }

        fout<<suma<<"\n";
    }

}

int main ()
{
    GenCiur();
    Rezolva();
    fin.close();
    fout.close();
    return 0;
}