Pagini recente » Cod sursa (job #1592266) | Cod sursa (job #1158459) | Cod sursa (job #1964411) | Cod sursa (job #2220395) | Cod sursa (job #2830470)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("fractii.in");
ofstream fo("fractii.out");
int frec[1000000];
int n;
void Determinare(int n)
{
for(int i=2;i<=n;i++)
{
if(frec[i]==0)
{
int j=i+1;
if(frec[i*i]==0 && i*i<=n)
frec[i*i]=(i-1)*i;
while(i*j<=n)
{
if(frec[i]==0 && frec[j]==0)
frec[i*j]=(i-1)*(j-1);
else
{
if(j%i==0)
frec[i*j]=frec[j]*i;
else
frec[i*j]=frec[j]*(i-1);
}
j++;
}
}
}
}
int main()
{
fi>>n;
Determinare(n);
long long sum=1;
for(int i=2;i<=n;i++)
{
if(frec[i]==0)
sum+=2*(i-1);
else
sum+=2*(frec[i]);
}
fo<<sum;
return 0;
}