Cod sursa(job #1221462)
| Utilizator | Data | 20 august 2014 15:20:40 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int N,rez,i,j;
struct
{
int d,m;
bool verif;
}v[1000002];
int main()
{
f>>N;
v[1].d=1;v[1].m=1;
for (i=2;i<=N;++i)
v[i].d=i-1,v[i].m=1;
rez=1;
for (i=2;i<=N;++i)
{
if (v[i].verif==false)
{
for (j=i<<1;j<=N;j+=i)
{
v[j].verif=true;
v[j].d-=v[i].m;
v[i].m++;
}
}
rez+=v[i].d*2;
}
//for (i=1;i<=N;++i)
// cout<<v[i].d<<' '<<v[i].m<<'\n';
g<<rez;
f.close();g.close();
return 0;
}
