Cod sursa(job #846091)

Utilizator danutbodbodnariuc danut danutbod Data 1 ianuarie 2013 14:52:59
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
//var II cu formula
#include <fstream>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
int e[200003],n,x,y,d,i,j,t;
long long s;
int main()
{
    f>>n;
    for(i=1;i<=n;i++) e[i]=i;
    for(i=2;i<=n;i++)
        if(e[i]==i)
            for(j=i;j<=n;j=i+j)
                e[j]=e[j]/i*(i-1);
    for(i=1;i<=n;i++) {
            f>>x;
            s=2*x*e[x];
            g<<s<<'\n';
    }
    g.close();
    return 0;
}


//var I 55p (nu se incadreaza in timp)
//se descompune x in factori si se elimina
//din vector toti multipli factorilor
#include <fstream>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
int e[200003],n,x,y,d,i,j,t;
long long s;
int main()
{
    f>>n;
    for(t=1;t<=n;t++){
    f>>x;y=2*x;
    for(i=1;i<=y;i++)e[i]=0;
    d=2;
    while(x!=1){
       if(x%d==0){
          for(i=d;i<=y;i=i+d)e[i]=1;
          while(x%d==0)x=x/d;
       }
       d++;
    }
    for(s=0,i=1;i<=y;i++)
       if(e[i]==0)s+=i;
    g<<s<<'\n';
    }
    g.close();
    return 0;
}