Pagini recente » Monitorul de evaluare | Cod sursa (job #1221462)
#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;
}