Cod sursa(job #1692835)
Utilizator | Gabi Tulba-Lecu GabiTulba | Data | 21 aprilie 2016 19:27:01 |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
double n,p[1000001]={},x;
unsigned long long S;
int fsd(int nr)
{
for(int i=2;i<=nr/2;i++)
if(nr%i==0)
return i;
return nr;
}
int main()
{
in>>n;
for(int i=2;i<=n;i++)
{
p[i]=i;
}
for(int i=2;i<=n;i++)
{
if(p[i]==i)
{
p[i]--;
x=i;
for(int j=2*i;j<=n;j+=i)
p[j]*=1-1/x;
}
}
for(int i=2;i<=n;i++)
S+=p[i];
S*=2;
S++;
out<<S;
return 0;
}